Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/fatihkan/badiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/fatihkan/badi/secret-scan)<a href="https://agentmods.dev/commands/fatihkan/badi/secret-scan"><img src="https://agentmods.dev/badge/commands/fatihkan/badi/secret-scan.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00637 |
| Opus 5 | $0.00000 | $0.00318 |
| Sonnet 5 | $0.00000 | $0.00127 |
| Haiku 4.5 | $0.00000 | $0.00064 |
Grade A, and why
secret-scan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project-wide secret/credential scan command. AWS/GCP/GitHub/npm/Stripe/OpenAI/Anthropic keys, JWTs, database URIs, private keys.
For wider coverage:
badi security baseline(secret-scan + npm audit),/security-review(Anthropic native AI semantic — Claude Code 2.1.140+).
Required Tools
- Bash (badi secret-scan command invocation)
Procedure
Step 1: Define the Scope
Ask the user:
- Working tree only? (fast)
- Include git history? (default 100 commits; raise with --max-commits)
- For CI/pipelines? (--exit-code strict + --format json)
Step 2: Run the Scan
badi secret-scan # Working tree
badi secret-scan --git # + git history
badi secret-scan --format json # JSON output
badi secret-scan --exit-code strict # exit 1 on any finding
badi secret-scan --max-commits 500 --git # deeper history
badi secret-scan --ignore jwt,github-pat-fine # ignore specific patterns
badi secret-scan --ignore-file .secretignore # read from a file
badi secret-scan --patterns custom-org-patterns.json # load extra patterns
CI exit codes:
0No findings (or--exit-code never; or only MEDIUM/LOW by default)1CRITICAL or HIGH finding
Out of scope: symlinks are skipped; git stash/reflog/packed-refs are not scanned.
Step 3: Interpret the Results
By severity:
- CRITICAL: AWS Access/Secret, GCP, GitHub PAT (classic + fine-grained), Slack, Stripe, OpenAI, Anthropic, RSA/EC private keys
- HIGH: npm token, SendGrid, Twilio, MongoDB/Postgres URIs
- MEDIUM: JWT tokens
- LOW: Generic secret variables (high false-positive risk —
--ignore generic-secrethelps)
Step 4: Action Plan
For every finding:
- Rotate — Invalidate the secret immediately (it may live in git log)
- Gitignore — Add the
.envor secret file to.gitignore - Environment variables — Use
process.env.Xinstead of hardcoded values - Git history cleanup — Use
git filter-repoorBFG
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 64 lines · 0 tokens per session scan A 6fa9522447bc
secret-scan is a command published in the GitHub repository fatihkan/badi (7 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 637 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.
Other commands, from other repositories
audit-agents-skills
Audit quality of agents, skills, and commands in a Claude Code project.
check-cache-bugs
Audit Claude Code setup for cache bugs (CC#40524) — sentinel, --resume/--continue, attribution header + ArkNill B3/B4/B5.
land-and-deploy
Merge PR, wait for CI, verify deploy, run canary — the complete landing pipeline.
qa
Systematic QA testing of a web application — diff-aware, tiered, with fix-and-verify loop.
review-pr
Perform a comprehensive code review of a pull request.
security-audit
Comprehensive security audit with scored posture assessment.