| 12345678910111213141516171819202122232425262728293031 |
- package rules
- import (
- "github.com/zricethezav/gitleaks/v8/cmd/generate/config/utils"
- "github.com/zricethezav/gitleaks/v8/config"
- "github.com/zricethezav/gitleaks/v8/regexp"
- )
- func PrivateKey() *config.Rule {
- // define rule
- r := config.Rule{
- Description: "Identified a Private Key, which may compromise cryptographic security and sensitive data encryption.",
- RuleID: "private-key",
- Regex: regexp.MustCompile(`(?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY(?: BLOCK)?-----[\s\S-]*?KEY(?: BLOCK)?-----`),
- Keywords: []string{"-----BEGIN"},
- }
- // validate
- tps := []string{`-----BEGIN PRIVATE KEY-----
- anything
- -----END PRIVATE KEY-----`,
- `-----BEGIN RSA PRIVATE KEY-----
- abcdefghijksmnopqrstuvwxyz
- -----END RSA PRIVATE KEY-----
- `,
- `-----BEGIN PRIVATE KEY BLOCK-----
- anything
- -----END PRIVATE KEY BLOCK-----`,
- } // gitleaks:allow
- return utils.Validate(r, tps, nil)
- }
|