Repository navigation
Conversation
Add a gitleaks workflow. On a PR (or push) it scans every commit since the base, plus the lines merge commits introduced themselves, via .github/scripts/gitleaks-changes.sh. A manual run (workflow_dispatch) scans the whole history. The gitleaks binary is pinned to 8.30.1 and its sha256 is checked before it is used. Assisted-by: ClaudeCode:claude-sonnet-5-5
A manual run has no base to scan from. Drop workflow_dispatch from the standalone gitleaks workflows and skip the gitleaks step on a manual run of the lint workflow. Make the script fail on an empty GITLEAKS_BASE instead of falling back to a full-history scan, so a missing base can never pass silently. Assisted-by: ClaudeCode:claude-sonnet-5-5
Do not fall back to a full-history scan, so a missing base can never pass silently. Assisted-by: ClaudeCode:claude-sonnet-5-5
|
🤖 AI text below 🤖 Closed without merging, and it cannot be reopened. This repo only holds the built site. Its default branch, The sources are scanned for secrets in VRrigs-documentation (BrainCOGS/VRrigs-documentation#49), so only built HTML reaches this repo. If scanning of the published output is wanted, add the step to the deploy job there, before the publish step. The branch |
🤖 AI text below 🤖
Problem
This repo has no secret scanning in CI.
What changed
Adds a
gitleaksworkflow (and.github/scripts/gitleaks-changes.sh, the same script used in U19-pipeline-python). On a pull request or push it scans every commit since the base, plus the lines each merge commit introduced itself, so a secret typed in while resolving a conflict is caught too. It does not rescan old history on every run. There is no manual-run trigger: a run without a base to scan from could not check anything.permissions: contents: read,persist-credentials: false;zizmorreports no findings.gitleaksjob is not a required check (no ruleset on this repo).Testing
The script was run against a scratch repo: a PR range with a token committed in an earlier commit fails (1
github-patfinding); an unchanged range, an all-zeros base and a clean range pass; an empty base fails. The install step was run with the real and a wrong checksum.Assisted-by: ClaudeCode:claude-sonnet-5-5