settlemint.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 SettlemintPersonalAccessToken() *config.Rule {
  8. // define rule
  9. r := config.Rule{
  10. Description: "Found a Settlemint Personal Access Token.",
  11. RuleID: "settlemint-personal-access-token",
  12. Regex: utils.GenerateUniqueTokenRegex(`sm_pat_[a-zA-Z0-9]{16}`, false),
  13. Entropy: 3,
  14. Keywords: []string{
  15. "sm_pat",
  16. },
  17. }
  18. // validate
  19. tps := utils.GenerateSampleSecrets("settlemintToken", "sm_pat_"+secrets.NewSecret(utils.AlphaNumeric("16")))
  20. fps := []string{
  21. "nonMatchingToken := \"" + secrets.NewSecret(utils.AlphaNumeric("16")) + "\"",
  22. "nonMatchingToken := \"sm_pat_" + secrets.NewSecret(utils.AlphaNumeric("10")) + "\"",
  23. }
  24. return utils.Validate(r, tps, fps)
  25. }
  26. func SettlemintApplicationAccessToken() *config.Rule {
  27. // define rule
  28. r := config.Rule{
  29. Description: "Found a Settlemint Application Access Token.",
  30. RuleID: "settlemint-application-access-token",
  31. Regex: utils.GenerateUniqueTokenRegex(`sm_aat_[a-zA-Z0-9]{16}`, false),
  32. Entropy: 3,
  33. Keywords: []string{
  34. "sm_aat",
  35. },
  36. }
  37. // validate
  38. tps := utils.GenerateSampleSecrets("settlemintToken", "sm_aat_"+secrets.NewSecret(utils.AlphaNumeric("16")))
  39. fps := []string{
  40. "nonMatchingToken := \"" + secrets.NewSecret(utils.AlphaNumeric("16")) + "\"",
  41. "nonMatchingToken := \"sm_aat_" + secrets.NewSecret(utils.AlphaNumeric("10")) + "\"",
  42. }
  43. return utils.Validate(r, tps, fps)
  44. }
  45. func SettlemintServiceAccessToken() *config.Rule {
  46. // define rule
  47. r := config.Rule{
  48. Description: "Found a Settlemint Service Access Token.",
  49. RuleID: "settlemint-service-access-token",
  50. Regex: utils.GenerateUniqueTokenRegex(`sm_sat_[a-zA-Z0-9]{16}`, false),
  51. Entropy: 3,
  52. Keywords: []string{
  53. "sm_sat",
  54. },
  55. }
  56. // validate
  57. tps := utils.GenerateSampleSecrets("settlemintToken", "sm_sat_"+secrets.NewSecret(utils.AlphaNumeric("16")))
  58. fps := []string{
  59. "nonMatchingToken := \"" + secrets.NewSecret(utils.AlphaNumeric("16")) + "\"",
  60. "nonMatchingToken := \"sm_sat_" + secrets.NewSecret(utils.AlphaNumeric("10")) + "\"",
  61. }
  62. return utils.Validate(r, tps, fps)
  63. }