Summary
A static, read-only security audit of this repo (osv-scanner + trivy + gitleaks + a dictionary scan) returned 5 findings, all in markdown proposal/history docs (no osv advisories, no trivy HIGH+CRITICAL, no unpinned actions). They look like example Authorization: Bearer … / generic-api-key strings inside code snippets, but each one still trips gitleaks every scan. Also no Dependabot config.
Scan baseline:
- osv-scanner vulnerabilities: 0
- trivy HIGH+CRITICAL: 0
- gitleaks findings: 5 (all in
.md docs / history)
- Unpinned GitHub Actions refs: 0
- Dependabot configured: no
Problem(s)
1. gitleaks hits in 5 documentation files
- Location:
history/proposal-llms.txt-additions.md.20260121:465 — curl-auth-header
proposal--web--llms.txt-enhancements.md:1124 — curl-auth-header
proposal-cli--ai-help.md:590 — generic-api-key
history/proposal-cli--ai-help.md.20260121:415 — generic-api-key
history/proposal-web__ai_help.md.20260121:1389 — curl-auth-header
- Why it matters: These are documentation/proposal files. Most likely each shows an example
curl -H "Authorization: Bearer …" or OPENAI_API_KEY=sk-… style snippet. If the values are placeholder strings, the right fix is to either rewrite them as obviously-fake (Bearer EXAMPLE_TOKEN, sk-EXAMPLE) or add .gitleaksignore entries so future scans return 0. If by accident one of them is a real key (the history/ mirrors of these docs make that worth checking), it must be rotated.
- Expected: Triage each of the 5 lines. Rewrite or suppress confirmed-fake examples; rotate any confirmed-real secret and remove from history.
- Fix: Edit each markdown file to use obviously-fake placeholders; add a
.gitleaksignore referencing this issue for any remaining unavoidable hits.
2. No Dependabot config
Acceptance criteria
- All 5 listed lines confirmed fake (or rotated if real); future gitleaks scans return 0 for this repo.
.github/dependabot.yml exists with the relevant ecosystem block and a security-updates group; first Dependabot run schedules without error.
Out of scope
- Org-level controls (secret scanning, push protection) — repo settings change, not a code change in this issue.
- Restructuring the
history/ proposal archive.
References
Summary
A static, read-only security audit of this repo (osv-scanner + trivy + gitleaks + a dictionary scan) returned 5 findings, all in markdown proposal/history docs (no osv advisories, no trivy HIGH+CRITICAL, no unpinned actions). They look like example
Authorization: Bearer …/ generic-api-key strings inside code snippets, but each one still trips gitleaks every scan. Also no Dependabot config.Scan baseline:
.mddocs / history)Problem(s)
1. gitleaks hits in 5 documentation files
history/proposal-llms.txt-additions.md.20260121:465—curl-auth-headerproposal--web--llms.txt-enhancements.md:1124—curl-auth-headerproposal-cli--ai-help.md:590—generic-api-keyhistory/proposal-cli--ai-help.md.20260121:415—generic-api-keyhistory/proposal-web__ai_help.md.20260121:1389—curl-auth-headercurl -H "Authorization: Bearer …"orOPENAI_API_KEY=sk-…style snippet. If the values are placeholder strings, the right fix is to either rewrite them as obviously-fake (Bearer EXAMPLE_TOKEN,sk-EXAMPLE) or add.gitleaksignoreentries so future scans return 0. If by accident one of them is a real key (thehistory/mirrors of these docs make that worth checking), it must be rotated..gitleaksignorereferencing this issue for any remaining unavoidable hits.2. No Dependabot config
.github/dependabot.yml.webinstaller#186. CVE advisories on already-pulled deps don't auto-open PRs without Dependabot..github/dependabot.ymlwith the appropriate ecosystem block on weekly cadence and asecurity-updatesgroup.Acceptance criteria
.github/dependabot.ymlexists with the relevant ecosystem block and asecurity-updatesgroup; first Dependabot run schedules without error.Out of scope
history/proposal archive.References
deftai/webinstaller#186.