digitalocean.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. )
  6. func DigitalOceanPAT() *config.Rule {
  7. r := config.Rule{
  8. Description: "DigitalOcean Personal Access Token",
  9. RuleID: "digitalocean-pat",
  10. SecretGroup: 1,
  11. Regex: generateUniqueTokenRegex(`dop_v1_[a-f0-9]{64}`),
  12. Keywords: []string{"dop_v1_"},
  13. }
  14. tps := []string{
  15. generateSampleSecret("do", "dop_v1_"+secrets.NewSecret(hex("64"))),
  16. }
  17. return validate(r, tps, nil)
  18. }
  19. func DigitalOceanOAuthToken() *config.Rule {
  20. r := config.Rule{
  21. Description: "DigitalOcean OAuth Access Token",
  22. RuleID: "digitalocean-access-token",
  23. SecretGroup: 1,
  24. Regex: generateUniqueTokenRegex(`doo_v1_[a-f0-9]{64}`),
  25. Keywords: []string{"doo_v1_"},
  26. }
  27. tps := []string{
  28. generateSampleSecret("do", "doo_v1_"+secrets.NewSecret(hex("64"))),
  29. }
  30. return validate(r, tps, nil)
  31. }
  32. func DigitalOceanRefreshToken() *config.Rule {
  33. r := config.Rule{
  34. Description: "DigitalOcean OAuth Refresh Token",
  35. RuleID: "digitalocean-refresh-token",
  36. SecretGroup: 1,
  37. Regex: generateUniqueTokenRegex(`dor_v1_[a-f0-9]{64}`),
  38. Keywords: []string{"dor_v1_"},
  39. }
  40. tps := []string{
  41. generateSampleSecret("do", "dor_v1_"+secrets.NewSecret(hex("64"))),
  42. }
  43. return validate(r, tps, nil)
  44. }