twitter.go 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 TwitterAPIKey() *config.Rule {
  8. // define rule
  9. r := config.Rule{
  10. Description: "Identified a Twitter API Key, which may compromise Twitter application integrations and user data security.",
  11. RuleID: "twitter-api-key",
  12. Regex: utils.GenerateSemiGenericRegex([]string{"twitter"}, utils.AlphaNumeric("25"), true),
  13. Keywords: []string{"twitter"},
  14. }
  15. // validate
  16. tps := []string{
  17. utils.GenerateSampleSecret("twitter", secrets.NewSecret(utils.AlphaNumeric("25"))),
  18. }
  19. return utils.Validate(r, tps, nil)
  20. }
  21. func TwitterAPISecret() *config.Rule {
  22. // define rule
  23. r := config.Rule{
  24. Description: "Found a Twitter API Secret, risking the security of Twitter app integrations and sensitive data access.",
  25. RuleID: "twitter-api-secret",
  26. Regex: utils.GenerateSemiGenericRegex([]string{"twitter"}, utils.AlphaNumeric("50"), true),
  27. Keywords: []string{"twitter"},
  28. }
  29. // validate
  30. tps := []string{
  31. utils.GenerateSampleSecret("twitter", secrets.NewSecret(utils.AlphaNumeric("50"))),
  32. }
  33. return utils.Validate(r, tps, nil)
  34. }
  35. func TwitterBearerToken() *config.Rule {
  36. // define rule
  37. r := config.Rule{
  38. Description: "Discovered a Twitter Bearer Token, potentially compromising API access and data retrieval from Twitter.",
  39. RuleID: "twitter-bearer-token",
  40. Regex: utils.GenerateSemiGenericRegex([]string{"twitter"}, "A{22}[a-zA-Z0-9%]{80,100}", true),
  41. Keywords: []string{"twitter"},
  42. }
  43. // validate
  44. tps := []string{
  45. utils.GenerateSampleSecret("twitter", secrets.NewSecret("A{22}[a-zA-Z0-9%]{80,100}")),
  46. }
  47. return utils.Validate(r, tps, nil)
  48. }
  49. func TwitterAccessToken() *config.Rule {
  50. // define rule
  51. r := config.Rule{
  52. Description: "Detected a Twitter Access Token, posing a risk of unauthorized account operations and social media data exposure.",
  53. RuleID: "twitter-access-token",
  54. Regex: utils.GenerateSemiGenericRegex([]string{"twitter"}, "[0-9]{15,25}-[a-zA-Z0-9]{20,40}", true),
  55. Keywords: []string{"twitter"},
  56. }
  57. // validate
  58. tps := []string{
  59. utils.GenerateSampleSecret("twitter", secrets.NewSecret("[0-9]{15,25}-[a-zA-Z0-9]{20,40}")),
  60. }
  61. return utils.Validate(r, tps, nil)
  62. }
  63. func TwitterAccessSecret() *config.Rule {
  64. // define rule
  65. r := config.Rule{
  66. Description: "Uncovered a Twitter Access Secret, potentially risking unauthorized Twitter integrations and data breaches.",
  67. RuleID: "twitter-access-secret",
  68. Regex: utils.GenerateSemiGenericRegex([]string{"twitter"}, utils.AlphaNumeric("45"), true),
  69. Keywords: []string{"twitter"},
  70. }
  71. // validate
  72. tps := []string{
  73. utils.GenerateSampleSecret("twitter", secrets.NewSecret(utils.AlphaNumeric("45"))),
  74. }
  75. return utils.Validate(r, tps, nil)
  76. }