twitter.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. )
  6. func TwitterAPIKey() *config.Rule {
  7. // define rule
  8. r := config.Rule{
  9. Description: "Twitter API Key",
  10. RuleID: "twitter-api-key",
  11. Regex: generateSemiGenericRegex([]string{"twitter"}, alphaNumeric("25")),
  12. SecretGroup: 1,
  13. Keywords: []string{"twitter"},
  14. }
  15. // validate
  16. tps := []string{
  17. generateSampleSecret("twitter", secrets.NewSecret(alphaNumeric("25"))),
  18. }
  19. return validate(r, tps, nil)
  20. }
  21. func TwitterAPISecret() *config.Rule {
  22. // define rule
  23. r := config.Rule{
  24. Description: "Twitter API Secret",
  25. RuleID: "twitter-api-secret",
  26. Regex: generateSemiGenericRegex([]string{"twitter"}, alphaNumeric("50")),
  27. SecretGroup: 1,
  28. Keywords: []string{"twitter"},
  29. }
  30. // validate
  31. tps := []string{
  32. generateSampleSecret("twitter", secrets.NewSecret(alphaNumeric("50"))),
  33. }
  34. return validate(r, tps, nil)
  35. }
  36. func TwitterBearerToken() *config.Rule {
  37. // define rule
  38. r := config.Rule{
  39. Description: "Twitter Bearer Token",
  40. RuleID: "twitter-bearer-token",
  41. Regex: generateSemiGenericRegex([]string{"twitter"}, "A{22}[a-zA-Z0-9%]{80,100}"),
  42. SecretGroup: 1,
  43. Keywords: []string{"twitter"},
  44. }
  45. // validate
  46. tps := []string{
  47. generateSampleSecret("twitter", secrets.NewSecret("A{22}[a-zA-Z0-9%]{80,100}")),
  48. }
  49. return validate(r, tps, nil)
  50. }
  51. func TwitterAccessToken() *config.Rule {
  52. // define rule
  53. r := config.Rule{
  54. Description: "Twitter Access Token",
  55. RuleID: "twitter-access-token",
  56. Regex: generateSemiGenericRegex([]string{"twitter"}, "[0-9]{15,25}-[a-zA-Z0-9]{20,40}"),
  57. SecretGroup: 1,
  58. Keywords: []string{"twitter"},
  59. }
  60. // validate
  61. tps := []string{
  62. generateSampleSecret("twitter", secrets.NewSecret("[0-9]{15,25}-[a-zA-Z0-9]{20,40}")),
  63. }
  64. return validate(r, tps, nil)
  65. }
  66. func TwitterAccessSecret() *config.Rule {
  67. // define rule
  68. r := config.Rule{
  69. Description: "Twitter Access Secret",
  70. RuleID: "twitter-access-secret",
  71. Regex: generateSemiGenericRegex([]string{"twitter"}, alphaNumeric("45")),
  72. SecretGroup: 1,
  73. Keywords: []string{"twitter"},
  74. }
  75. // validate
  76. tps := []string{
  77. generateSampleSecret("twitter", secrets.NewSecret(alphaNumeric("45"))),
  78. }
  79. return validate(r, tps, nil)
  80. }