Problem
data/regex_list_1.json is a generic third-party DLP sample list (Arista/Cisco configs, US bank routing numbers, Box links, CVE IDs, etc.) with mixed quality — much of it irrelevant to a coding-assistant use case. After the coding-only keyword filter, only 30 of 66 entries survive, and (per #3) some of those are broken. The dataset is ballast rather than a curated asset.
Fix
Replace or supplement data/regex_list_1.json with a converted subset of gitleaks' MIT-licensed ruleset (https://github.com/gitleaks/gitleaks), which is actively maintained, vastly higher precision, and purpose-built for this exact use case (secrets in code/text).
Suggested approach:
- Write a one-time conversion script (
scripts/convert-gitleaks-rules.ts or similar) that maps gitleaks TOML rules into this project's external-rule JSON schema
- Preserve the existing stable-ID scheme so config references (
disabledRules, etc.) don't break for existing users
- Vet every converted rule through the existing safe-regex2 + empty-match checks before inclusion
- Drop routing-number/networking-config style entries that don't apply to this product's threat model
Acceptance criteria
Problem
data/regex_list_1.jsonis a generic third-party DLP sample list (Arista/Cisco configs, US bank routing numbers, Box links, CVE IDs, etc.) with mixed quality — much of it irrelevant to a coding-assistant use case. After the coding-only keyword filter, only 30 of 66 entries survive, and (per #3) some of those are broken. The dataset is ballast rather than a curated asset.Fix
Replace or supplement
data/regex_list_1.jsonwith a converted subset of gitleaks' MIT-licensed ruleset (https://github.com/gitleaks/gitleaks), which is actively maintained, vastly higher precision, and purpose-built for this exact use case (secrets in code/text).Suggested approach:
scripts/convert-gitleaks-rules.tsor similar) that maps gitleaks TOML rules into this project's external-rule JSON schemadisabledRules, etc.) don't break for existing usersAcceptance criteria
data/regex_list_1.json(or its replacement) is derived from gitleaks' ruleset with clear attribution/license notice