artifactory.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. "github.com/zricethezav/gitleaks/v8/regexp"
  7. )
  8. func ArtifactoryApiKey() *config.Rule {
  9. // define rule
  10. r := config.Rule{
  11. RuleID: "artifactory-api-key",
  12. Description: "Detected an Artifactory api key, posing a risk unauthorized access to the central repository.",
  13. Regex: regexp.MustCompile(`\bAKCp[A-Za-z0-9]{69}\b`),
  14. Entropy: 4.5,
  15. Keywords: []string{"AKCp"},
  16. }
  17. // validate
  18. tps := []string{
  19. "artifactoryApiKey := \"AKCp" + secrets.NewSecret(utils.AlphaNumeric("69")) + "\"",
  20. }
  21. // false positives
  22. fps := []string{
  23. `lowEntropy := AKCpXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,
  24. "wrongStart := \"AkCp" + secrets.NewSecret(utils.AlphaNumeric("69")) + "\"",
  25. "wrongLength := \"AkCp" + secrets.NewSecret(utils.AlphaNumeric("59")) + "\"",
  26. "partOfAlongUnrelatedBlob gYnkgAkCp" + secrets.NewSecret(utils.AlphaNumeric("69")) + "VyZSB2",
  27. }
  28. return utils.Validate(r, tps, fps)
  29. }
  30. func ArtifactoryReferenceToken() *config.Rule {
  31. // define rule
  32. r := config.Rule{
  33. RuleID: "artifactory-reference-token",
  34. Description: "Detected an Artifactory reference token, posing a risk of impersonation and unauthorized access to the central repository.",
  35. Regex: regexp.MustCompile(`\bcmVmd[A-Za-z0-9]{59}\b`),
  36. Entropy: 4.5,
  37. Keywords: []string{"cmVmd"},
  38. }
  39. // validate
  40. tps := []string{
  41. "artifactoryRefToken := \"cmVmd" + secrets.NewSecret(utils.AlphaNumeric("59")) + "\"",
  42. }
  43. // false positives
  44. fps := []string{
  45. `lowEntropy := cmVmdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,
  46. "wrongStart := \"cmVMd" + secrets.NewSecret(utils.AlphaNumeric("59")) + "\"",
  47. "wrongLength := \"cmVmd" + secrets.NewSecret(utils.AlphaNumeric("49")) + "\"",
  48. "partOfAlongUnrelatedBlob gYnkgcmVmd" + secrets.NewSecret(utils.AlphaNumeric("59")) + "VyZSB2",
  49. }
  50. return utils.Validate(r, tps, fps)
  51. }