4
0

mailchimp.go 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/cmd/generate/config/utils"
  4. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  5. "github.com/zricethezav/gitleaks/v8/config"
  6. )
  7. func MailChimp() *config.Rule {
  8. // define rule
  9. r := config.Rule{
  10. RuleID: "mailchimp-api-key",
  11. Description: "Identified a Mailchimp API key, potentially compromising email marketing campaigns and subscriber data.",
  12. Regex: utils.GenerateSemiGenericRegex([]string{"MailchimpSDK.initialize", "mailchimp"}, utils.Hex("32")+`-us\d\d`, true),
  13. Keywords: []string{
  14. "mailchimp",
  15. },
  16. }
  17. // validate
  18. tps := utils.GenerateSampleSecrets("mailchimp", secrets.NewSecret(utils.Hex("32"))+"-us20")
  19. tps = append(tps,
  20. `mailchimp_api_key: cefa780880ba5f5696192a34f6292c35-us18`, // gitleaks:allow
  21. `MAILCHIMPE_KEY = "b5b9f8e50c640da28993e8b6a48e3e53-us18"`, // gitleaks:allow
  22. )
  23. fps := []string{
  24. // False Negative
  25. `MailchimpSDK.initialize(token: 3012a5754bbd716926f99c028f7ea428-us18)`, // gitleaks:allow
  26. }
  27. return utils.Validate(r, tps, fps)
  28. }