discord.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. )
  6. func DiscordAPIToken() *config.Rule {
  7. // define rule
  8. r := config.Rule{
  9. Description: "Discord API key",
  10. RuleID: "discord-api-token",
  11. Regex: generateSemiGenericRegex([]string{"discord"}, hex("64")),
  12. SecretGroup: 1,
  13. Keywords: []string{"discord"},
  14. }
  15. // validate
  16. tps := []string{
  17. generateSampleSecret("discord", secrets.NewSecret(hex("64"))),
  18. }
  19. return validate(r, tps, nil)
  20. }
  21. func DiscordClientID() *config.Rule {
  22. // define rule
  23. r := config.Rule{
  24. Description: "Discord client ID",
  25. RuleID: "discord-client-id",
  26. Regex: generateSemiGenericRegex([]string{"discord"}, numeric("18")),
  27. SecretGroup: 1,
  28. Keywords: []string{"discord"},
  29. }
  30. // validate
  31. tps := []string{
  32. generateSampleSecret("discord", secrets.NewSecret(numeric("18"))),
  33. }
  34. return validate(r, tps, nil)
  35. }
  36. func DiscordClientSecret() *config.Rule {
  37. // define rule
  38. r := config.Rule{
  39. Description: "Discord client secret",
  40. RuleID: "discord-client-secret",
  41. Regex: generateSemiGenericRegex([]string{"discord"}, alphaNumericExtended("32")),
  42. SecretGroup: 1,
  43. Keywords: []string{"discord"},
  44. }
  45. // validate
  46. tps := []string{
  47. generateSampleSecret("discord", secrets.NewSecret(numeric("32"))),
  48. }
  49. return validate(r, tps, nil)
  50. }