twitter.go 740 B

1234567891011121314151617181920212223242526272829303132333435
  1. package rules
  2. import (
  3. "github.com/rs/zerolog/log"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. "github.com/zricethezav/gitleaks/v8/detect"
  6. )
  7. func Twitter() *config.Rule {
  8. // define rule
  9. r := config.Rule{
  10. Description: "twitter",
  11. RuleID: "twitter",
  12. Regex: generateSemiGenericRegex([]string{"twitter"},
  13. hex+"{35,44}"),
  14. SecretGroup: 1,
  15. Keywords: []string{"twitter"},
  16. }
  17. // validate
  18. tps := []string{
  19. "twitterToken := \"" + sampleHex32Token + "aaaa\"",
  20. "twitterToken := `" + sampleHex32Token + "aaaa`",
  21. }
  22. d := detect.NewDetector(config.Config{
  23. Rules: []*config.Rule{&r},
  24. })
  25. for _, tp := range tps {
  26. if len(d.DetectString(tp)) != 1 {
  27. log.Fatal().Msg("Failed to validate twitter")
  28. }
  29. }
  30. return &r
  31. }