Skip to content

Commit

Permalink
Stop words (#808)
Browse files Browse the repository at this point in the history
* use regex for stopwords

* fix up regex

* rm stopwords
  • Loading branch information
zricethezav committed Mar 19, 2022
1 parent 6e72472 commit 57f9bc8
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 7 deletions.
19 changes: 18 additions & 1 deletion config/gitleaks.toml
Expand Up @@ -536,7 +536,24 @@ secretGroup = 4

[allowlist]
description = "global allow lists"
regexes = ['''219-09-9999''', '''078-05-1120''', '''(9[0-9]{2}|666)-\d{2}-\d{4}''']
regexes = [
'''219-09-9999''',
'''078-05-1120''',
'''(9[0-9]{2}|666)-\d{2}-\d{4}''',
'''process''',
'''getenv''',
'''\.env''',
'''env\(''',
'''env\.''',
'''setting''',
'''load''',
'''token''',
'''password''',
'''secret''',
'''api\_key''',
'''apikey''',
'''api\-key''',
]
paths = [
'''gitleaks.toml''',
'''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
Expand Down
12 changes: 6 additions & 6 deletions detect/detect.go
Expand Up @@ -170,12 +170,6 @@ func (d *Detector) detectRule(fragment Fragment, rule *config.Rule) []report.Fin
Tags: rule.Tags,
}

// check if the secret is in the allowlist
if rule.Allowlist.RegexAllowed(finding.Secret) ||
d.Config.Allowlist.RegexAllowed(finding.Secret) {
continue
}

// extract secret from secret group if set
if rule.SecretGroup != 0 {
groups := rule.Regex.FindStringSubmatch(secret)
Expand All @@ -187,6 +181,12 @@ func (d *Detector) detectRule(fragment Fragment, rule *config.Rule) []report.Fin
finding.Secret = secret
}

// check if the secret is in the allowlist
if rule.Allowlist.RegexAllowed(finding.Secret) ||
d.Config.Allowlist.RegexAllowed(finding.Secret) {
continue
}

// check entropy
entropy := shannonEntropy(finding.Secret)
finding.Entropy = float32(entropy)
Expand Down
8 changes: 8 additions & 0 deletions detect/detect_test.go
Expand Up @@ -185,6 +185,14 @@ func TestDetect(t *testing.T) {
},
expectedFindings: []report.Finding{},
},
{
cfgName: "generic_with_py_path",
fragment: Fragment{
Raw: `const Discord_Public_Key = "load2523fb86ed64c836a979cf8465fbd436378c653c1db38f9ae87bc62a6fd5"`,
FilePath: "tmp.py",
},
expectedFindings: []report.Finding{},
},
}

for _, tt := range tests {
Expand Down
1 change: 1 addition & 0 deletions detect/utils.go
Expand Up @@ -79,6 +79,7 @@ func filter(findings []report.Finding, redact bool) []report.Finding {
}
}
}

if redact {
f.Redact()
}
Expand Down
27 changes: 27 additions & 0 deletions testdata/config/generic_with_py_path.toml
Expand Up @@ -7,3 +7,30 @@ regex = '''(?i)((key|api|token|secret|password)[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|
path = '''.py'''
entropy = 3.7
secretGroup = 4

[allowlist]
description = "global allow lists"
regexes = [
'''219-09-9999''',
'''078-05-1120''',
'''(9[0-9]{2}|666)-\d{2}-\d{4}''',
'''process''',
'''getenv''',
'''\.env''',
'''env\(''',
'''env\.''',
'''setting''',
'''load''',
'''token''',
'''password''',
'''secret''',
'''api\_key''',
'''apikey''',
'''api\-key''',
]
paths = [
'''gitleaks.toml''',
'''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
'''(go.mod|go.sum)$'''
]

0 comments on commit 57f9bc8

Please sign in to comment.