gitleaks false positives on test fixtures: tuning failed
Tunes gitleaks to stop flagging test fixtures: targeted allowlists instead of disabling rules. Use when fixtures and example values cause false positives. Not for real leaked credentials.
TL;DR
False positives on fixtures mean the rules are fine but the fixtures look secret-shaped. Allowlist by file path or finding fingerprint so real leaks still get caught, and keep fixtures obviously fake so they stop matching.
Error
gitleaks false positives on test fixtures: tuning failedSteps
- Collect the false-positive findings with fingerprints from a JSON report. Expected: a precise list, not guesses.
- For fixtures, prefer path-based allowlists: test and fixture directories rarely hold real secrets. Expected: whole classes of noise gone at once.
- For one-off fixtures elsewhere, allowlist the exact fingerprint. Expected: surgical, reviewable exceptions.
- Make new fixtures non-secret-shaped: obvious placeholders with low entropy. Expected: future fixtures do not match.
- Re-run the scan and confirm only real findings remain. Expected: clean or genuinely actionable output.
When to use
- Gitleaks flags test data, examples, or docs.
- Tuning has been attempted but noise persists.
When not to use
- A finding might be a real credential (triage it as a leak first).
- You are tempted to disable the rule entirely (allowlist instead).
Tool compatibility
- Gitleaks v8 allowlists; TOML config.
Variant phrasings
gitleaks flags my test data
Allowlist by path or fingerprint.
gitleaks too noisy on fixtures
Same tuning.
Why it happens
Entropy rules cannot tell a random-looking test string from a random-looking secret; only context (path, fingerprint) distinguishes them.
Edge cases
- Over-broad path allowlists can hide real leaks in test-adjacent code; keep them tight.
- Fingerprints change if the fixture value changes; path rules are more stable.
- Review allowlists periodically; fixtures get copied into real code.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_idLRWo65VG4S1hbr9vLJYw
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.