privatekey.go 609 B

12345678910111213141516171819202122232425262728
  1. package rules
  2. import (
  3. "regexp"
  4. "github.com/zricethezav/gitleaks/v8/config"
  5. )
  6. func PrivateKey() *config.Rule {
  7. // define rule
  8. r := config.Rule{
  9. Description: "Private Key",
  10. RuleID: "private-key",
  11. Regex: regexp.MustCompile(`(?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY( BLOCK)?-----[\s\S-]*KEY----`),
  12. Keywords: []string{"-----BEGIN"},
  13. }
  14. // validate
  15. tps := []string{`-----BEGIN PRIVATE KEY-----
  16. anything
  17. -----END PRIVATE KEY-----`,
  18. `-----BEGIN RSA PRIVATE KEY-----
  19. abcdefghijklmnopqrstuvwxyz
  20. -----END RSA PRIVATE KEY-----
  21. `,
  22. } // gitleaks:allow
  23. return validate(r, tps, nil)
  24. }