mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-21 22:44:31 +00:00
Merge pull request #907 from ozymandiashh/chore/gitleaks-allowlist
chore(security): add gitleaks allowlist after a clean full-history secret audit
This commit is contained in:
commit
240b583ad8
1 changed files with 41 additions and 0 deletions
41
.gitleaks.toml
Normal file
41
.gitleaks.toml
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# gitleaks config for codeburn.
|
||||
#
|
||||
# Extends the default ruleset and allowlists the cases a full-history audit
|
||||
# (2026-08-04) confirmed are NOT secrets, so scans stay green and a real leak
|
||||
# is never buried under recurring false positives. See each entry for why the
|
||||
# match is safe; nothing here suppresses a live credential.
|
||||
[extend]
|
||||
useDefault = true
|
||||
|
||||
[[allowlists]]
|
||||
description = "Test fixtures: obviously-fake API keys used as parser/validator input."
|
||||
# sk-live-0123456789abcdef... and sk-live-AKIA1234567890SECRETKEY live in
|
||||
# packages/core and root test suites purely as decode/redaction fixtures.
|
||||
condition = "AND"
|
||||
regexes = [
|
||||
'''sk-live-0123456789abcdef''',
|
||||
'''sk-live-AKIA1234567890SECRETKEY''',
|
||||
]
|
||||
paths = ['''(^|/)tests?/''']
|
||||
|
||||
[[allowlists]]
|
||||
description = "Public OAuth client IDs (PKCE public-client flow, public by design, no client_secret)."
|
||||
# Claude Code and Codex OAuth client identifiers. Client IDs travel in the
|
||||
# authorization request and are not credentials; the flows carry no secret.
|
||||
regexes = [
|
||||
'''9d1c250a-e61b-44d9-88ed-5944d1962f5e''',
|
||||
'''app_EMoamEEZ73f0CkXaXp7hrann''',
|
||||
]
|
||||
|
||||
[[allowlists]]
|
||||
description = "Non-secret identifiers the generic-api-key rule mis-fires on."
|
||||
# e.g. dedup keys like 'synth-retain-89d' in parser fixtures.
|
||||
condition = "AND"
|
||||
regexes = ['''synth-[a-z0-9-]+''']
|
||||
paths = ['''(^|/)tests?/''']
|
||||
|
||||
[[allowlists]]
|
||||
description = "Canonical example JWT header used as a redaction/parse fixture (decodes to {\"alg\":\"HS256\",\"typ\":\"JWT\"}, carries no claims or signature)."
|
||||
condition = "AND"
|
||||
regexes = ['''eyJhbGciOiJIUzI1NiIsIn''']
|
||||
paths = ['''(^|/)tests?/''']
|
||||
Loading…
Add table
Add a link
Reference in a new issue