twitter.go 2.8 KB

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