Skip to content

chore(security): add gitleaks allowlist after a clean full-history secret audit - #907

Open
ozymandiashh wants to merge 1 commit into
getagentseal:mainfrom
ozymandiashh:chore/gitleaks-allowlist
Open

chore(security): add gitleaks allowlist after a clean full-history secret audit#907
ozymandiashh wants to merge 1 commit into
getagentseal:mainfrom
ozymandiashh:chore/gitleaks-allowlist

Conversation

@ozymandiashh

Copy link
Copy Markdown
Collaborator

Ran a full-history secret-leak audit tonight (all refs, 1352 commits / 19.5 MB), three independent ways.

Result: clean. No real secret is leaked.

  • trufflehog --only-verified: 0 live secrets across all history.
  • manual high-signal grep (sk-/ghp_/gho_/github_pat_/AKIA/AIza/xox*/PEM/Bearer) in app code: only the redaction code that scrubs keys OUT of logs (security.ts, AppStore.swift, UpdateChecker.swift). Correct and defensive.
  • no client_secret anywhere in tracked files; OAuth is PKCE public-client, so the client IDs present are public by design. No tracked .env/.pem/.key/credentials file.
  • gitleaks: 8 findings, all false positives - fake test fixtures (sk-live-0123..., sk-live-AKIA...SECRETKEY), a dedup-key string (synth-retain-89d), and the public Claude Code / Codex OAuth client IDs.

This PR

A .gitleaks.toml that allowlists exactly those audited-safe cases, so future scans stay green and a genuine leak is never buried under recurring noise. Verified: gitleaks git --log-opts="--all" with this config reports no leaks found across all 1352 commits, while the default config reported 8. Nothing here suppresses a live credential - each allowlist entry is a specific known-safe string or a test-path-scoped fixture pattern, commented with why it is safe.

Adding this also makes the existing semgrep check's security posture legible: secret scanning now has a documented, audited baseline.

A full-history secret scan (all refs, 1352 commits) plus trufflehog
--only-verified came back clean: zero live secrets. gitleaks' default
generic-api-key rule flags 8 non-secrets - obviously-fake test fixtures
(sk-live-0123..., sk-live-AKIA...SECRETKEY), the public Claude Code and
Codex OAuth client IDs (PKCE public-client flow, no client_secret), and a
dedup-key string. This encodes exactly those as allowlisted so scans stay
green and a real leak can never hide under recurring false positives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant