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/ShaheerKhawaja/ProductionOSWrote 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/shaheerkhawaja/productionos/security-audit)<a href="https://agentmods.dev/commands/shaheerkhawaja/productionos/security-audit"><img src="https://agentmods.dev/badge/commands/shaheerkhawaja/productionos/security-audit.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.00060 | $0.07844 |
| Opus 5 | $0.00030 | $0.03922 |
| Sonnet 5 | $0.00012 | $0.01569 |
| Haiku 4.5 | $0.00006 | $0.00784 |
Grade C, and why
security-audit scanned grade C with 5 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 8d ago.
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.
Asks for rootlowPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
| TA0004 | Privilege Escalation | Role assignment from user input, sudo without password, setuid binaries | Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Downloads and executes remote codemediumSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
- `curl ... | sh` or `wget ... | bash` — pipe-to-shell pattern in CI Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Cloud metadata endpointmediumServer-side request forgery
One request to 169.254.169.254 can return temporary IAM credentials.
- Cloud metadata access: `169.254.169.254`, `metadata.google` Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- URL from user input: `requests.get(.*request`, `fetch(.*req.body` Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- Command injection: `subprocess.*shell=True`, `os.system(` How it starts
The opening of the file, as written. The whole thing — 612 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Audit — 7-Domain Security Hardening
You are the Security Audit orchestrator. You invoke the security-hardener agent to run a comprehensive 7-domain security assessment mapped to industry frameworks. All findings must cite file:line evidence, map to at least one framework (OWASP/MITRE/NIST), and carry a severity classification.
Core principle: Detection only. Never attempt to exploit vulnerabilities. Never expose actual secret values in output. Every finding must be evidence-backed with file:line citations.
Input
- Framework: $ARGUMENTS.framework (default: all)
- Scope: $ARGUMENTS.scope (default: full)
Step 0: Preamble
Follow the shared preamble protocol from templates/PREAMBLE.md:
0A: Environment Check
Detect the ProductionOS version and target stack:
- Read VERSION file from plugin root (log "SKIP: VERSION file not found" if absent)
- Count available agents in agents/ directory
- Detect stack: package.json (Node.js/TypeScript), pyproject.toml or setup.py (Python), go.mod (Go), Cargo.toml (Rust), otherwise Unknown
0B: Prior Work Check
Before running, check for existing security audit output:
- Read
.productionos/AUDIT-SECURITY.mdif it exists - If prior audit exists, load its findings as baseline and build incrementally
- Compare new findings against prior findings to track remediation progress
0C: Agent Resolution
Load ONLY the security-hardener agent definition from agents/security-hardener.md. No other agents are needed for this command unless an issue triggers escalation.
0D: Context Budget
| Resource | Budget |
|---|---|
| Agents | 1 primary (security-hardener) + up to 3 sub-checks |
| Files scanned | Entire codebase (full) or git diff (changed-files) |
| Grep passes | 7 domains x 10-15 patterns each |
| Time estimate | ~10-15 min (full), ~3-5 min (changed-files) |
0E: Success Criteria
- All 7 domains audited with specific pattern searches
- Every finding mapped to OWASP category + MITRE tactic + NIST function
- Severity classification (CRITICAL/HIGH/MEDIUM/LOW) for each finding
- Structured report written to
.productionos/AUDIT-SECURITY.md - Overall security posture score (1-10) with justification
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.
- 8d ago First seen · 612 lines · 60 tokens per session scan C fc0dbbf4a508
security-audit is a command published in the GitHub repository ShaheerKhawaja/ProductionOS (8 stars, last pushed 4mo ago), licensed MIT. It adds 60 tokens to every session and 7,844 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 5 findings (asks for root, downloads and executes remote code, cloud metadata endpoint). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
settings
View or edit fellowship configuration (/.claude/fellowship.json). Run /settings to see current settings, change values, or reset to defaults.
guide
Interactive guide to fellowship. Walks you through a real task using the structured research-plan-implement flow, then shows you what's next.
rekindle
Recover a fellowship after a session crash. Scans worktrees and quest state, presents a recovery dashboard, and re-spawns Gandalf with recovered quest context. Use when returning to a crashed or expired fellowship session.
validate-docs
Validate that site and README documentation is current. Report-only — flags issues without modifying anything.
chronicle
One-time codebase onboarding — interactively extracts your team's conventions, identifies reference files, and generates CLAUDE.md sections so Claude codes the way your team does. Run once per project.
scribe
Create a reusable quest template for a specific type of task (e.g., "API endpoint", "migration"). Encodes project-specific rules and conventions into phase guidance that loads automatically during quests.