Skip to content

chore(security): CI hygiene & supply-chain pass — triage 5 gitleaks docs hits, add Dependabot #2

@MScottAdams

Description

@MScottAdams

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:465curl-auth-header
    • proposal--web--llms.txt-enhancements.md:1124curl-auth-header
    • proposal-cli--ai-help.md:590generic-api-key
    • history/proposal-cli--ai-help.md.20260121:415generic-api-key
    • history/proposal-web__ai_help.md.20260121:1389curl-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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions