newrelic.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package rules
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/config"
  4. )
  5. func NewRelicUserID() *config.Rule {
  6. // define rule
  7. r := config.Rule{
  8. RuleID: "new-relic-user-api-key",
  9. Description: "New Relic user API Key",
  10. Regex: generateSemiGenericRegex([]string{
  11. "new-relic",
  12. "newrelic",
  13. "new_relic",
  14. }, `NRAK-[a-z0-9]{27}`),
  15. SecretGroup: 1,
  16. Keywords: []string{
  17. "NRAK",
  18. },
  19. }
  20. // validate
  21. tps := []string{
  22. generateSampleSecret("new-relic", "NRAK-"+sampleAlphaNumeric27Token),
  23. }
  24. return validate(r, tps)
  25. }
  26. func NewRelicUserKey() *config.Rule {
  27. // define rule
  28. r := config.Rule{
  29. RuleID: "new-relic-user-api-id",
  30. Description: "New Relic user API ID",
  31. Regex: generateSemiGenericRegex([]string{
  32. "new-relic",
  33. "newrelic",
  34. "new_relic",
  35. }, alphaNumeric64),
  36. SecretGroup: 1,
  37. Keywords: []string{
  38. "new-relic",
  39. "newrelic",
  40. "new_relic",
  41. },
  42. }
  43. // validate
  44. tps := []string{
  45. generateSampleSecret("new-relic", sampleAlphaNumeric64Token),
  46. }
  47. return validate(r, tps)
  48. }
  49. func NewRelicBrowserAPIKey() *config.Rule {
  50. // define rule
  51. r := config.Rule{
  52. RuleID: "new-relic-browser-api-token",
  53. Description: "New Relic ingest browser API token",
  54. Regex: generateSemiGenericRegex([]string{
  55. "new-relic",
  56. "newrelic",
  57. "new_relic",
  58. }, `NRJS-[a-f0-9]{19}`),
  59. SecretGroup: 1,
  60. Keywords: []string{
  61. "NRJS-",
  62. },
  63. }
  64. // validate
  65. tps := []string{
  66. generateSampleSecret("new-relic", "NRJS-"+sampleHex19Token),
  67. }
  68. return validate(r, tps)
  69. }