jfrog.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package rules
  2. import (
  3. "fmt"
  4. "github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
  5. "github.com/zricethezav/gitleaks/v8/config"
  6. )
  7. func JFrogAPIKey() *config.Rule {
  8. keywords := []string{"jfrog", "artifactory", "bintray", "xray"}
  9. // Define Rule
  10. r := config.Rule{
  11. // Human readable description of the rule
  12. Description: "JFrog API Key",
  13. // Unique ID for the rule
  14. RuleID: "jfrog-api-key",
  15. // Regex capture group for the actual secret
  16. SecretGroup: 1,
  17. // Regex used for detecting secrets. See regex section below for more details
  18. Regex: generateSemiGenericRegex(keywords, alphaNumeric("73")),
  19. // Keywords used for string matching on fragments (think of this as a prefilter)
  20. Keywords: keywords,
  21. }
  22. // validate
  23. tps := []string{
  24. fmt.Sprintf("--set imagePullSecretJfrog.password=%s", secrets.NewSecret(alphaNumeric("73"))),
  25. }
  26. return validate(r, tps, nil)
  27. }
  28. func JFrogIdentityToken() *config.Rule {
  29. keywords := []string{"jfrog", "artifactory", "bintray", "xray"}
  30. // Define Rule
  31. r := config.Rule{
  32. // Human readable description of the rule
  33. Description: "JFrog Identity Token",
  34. // Unique ID for the rule
  35. RuleID: "jfrog-identity-token",
  36. // Regex capture group for the actual secret
  37. SecretGroup: 1,
  38. // Regex used for detecting secrets. See regex section below for more details
  39. Regex: generateSemiGenericRegex(keywords, alphaNumeric("64")),
  40. // Keywords used for string matching on fragments (think of this as a prefilter)
  41. Keywords: keywords,
  42. }
  43. // validate
  44. tps := []string{
  45. generateSampleSecret("jfrog", secrets.NewSecret(alphaNumeric("64"))),
  46. generateSampleSecret("artifactory", secrets.NewSecret(alphaNumeric("64"))),
  47. generateSampleSecret("bintray", secrets.NewSecret(alphaNumeric("64"))),
  48. generateSampleSecret("xray", secrets.NewSecret(alphaNumeric("64"))),
  49. }
  50. return validate(r, tps, nil)
  51. }