messagebird.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. )
  6. func MessageBirdAPIToken() *config.Rule {
  7. // define rule
  8. r := config.Rule{
  9. Description: "Found a MessageBird API token, risking unauthorized access to communication platforms and message data.",
  10. RuleID: "messagebird-api-token",
  11. Regex: generateSemiGenericRegex([]string{
  12. "messagebird",
  13. "message-bird",
  14. "message_bird",
  15. }, alphaNumeric("25"), true),
  16. Keywords: []string{
  17. "messagebird",
  18. "message-bird",
  19. "message_bird",
  20. },
  21. }
  22. // validate
  23. tps := []string{
  24. generateSampleSecret("messagebird", secrets.NewSecret(alphaNumeric("25"))),
  25. generateSampleSecret("message-bird", secrets.NewSecret(alphaNumeric("25"))),
  26. generateSampleSecret("message_bird", secrets.NewSecret(alphaNumeric("25"))),
  27. }
  28. return validate(r, tps, nil)
  29. }
  30. func MessageBirdClientID() *config.Rule {
  31. // define rule
  32. r := config.Rule{
  33. Description: "Discovered a MessageBird client ID, potentially compromising API integrations and sensitive communication data.",
  34. RuleID: "messagebird-client-id",
  35. Regex: generateSemiGenericRegex([]string{
  36. "messagebird",
  37. "message-bird",
  38. "message_bird",
  39. }, hex8_4_4_4_12(), true),
  40. Keywords: []string{
  41. "messagebird",
  42. "message-bird",
  43. "message_bird",
  44. },
  45. }
  46. // validate
  47. tps := []string{
  48. `const MessageBirdClientID = "12345678-ABCD-ABCD-ABCD-1234567890AB"`, // gitleaks:allow
  49. }
  50. return validate(r, tps, nil)
  51. }