By wrxck
Autonomously audits a GitHub repository for security vulnerabilities, triages false positives, writes proof-of-concept exploits, fixes confirmed bugs in separate PRs, independently reviews each fix, and merges when the review passes.
Build a minimal proof of concept for a confirmed security finding. Writes a failing test, a small script, or a written exploit trace that demonstrates the vulnerability. Does NOT modify source code. Invoke this when a finding is in the `confirmed` state.
Implement the minimal fix for a confirmed security finding with a working PoC. Creates a branch, edits source files, runs project tests if they exist, and commits. Does NOT open the PR. Invoke when a finding is in `poc_written` state.
Independently review the fix PR for a security finding. Gets ONLY the raw finding description and the diff — no access to the triage or fixer's reasoning. Decides approve or request_changes. Invoke when a finding is in `pr_opened` state.
Independently evaluate a single security finding to decide whether it is a real, exploitable vulnerability or a false positive. Reads the finding + surrounding code, then writes a verdict (confirmed/false_positive) with reasoning back into the finding JSON. Invoke this when a finding is in the `discovered` state.
Scan the active auto-audit workspace for security vulnerabilities and add any new findings to the queue. Run as part of /auto-audit:start or periodically via /auto-audit:tick rescans. Uses LLM-based code review plus available CLI scanners (npm audit, pip-audit, gitleaks-like regexes).
Install the auto-audit badges in the target repo. Publishes the live status JSON to the autoaudit/status branch so the dynamic shields.io badge renders, and optionally opens a PR adding the static 'audited by auto-audit' badge to the README. Use after an audit when the user wants visibility in their repo's README.
Record operator feedback against the active repo's audit so future triager and fixer runs incorporate it. Use when the user says 'don't write that pattern again', 'I reverted that PR because X', 'the triager got this one wrong', or 'remember this for next time'. The reviewer is independent and does NOT read this log — that's deliberate.
Generate a self-contained HTML audit report for the active repo (or a named one). The report includes summary stats, per-finding triage / PoC / fix / review detail, and the full activity log. Use when the user says 'generate a report', 'export findings', 'build the audit summary', 'write up the audit'.
Resume a stopped or previously-interrupted autonomous audit without re-initialising the workspace. Re-establishes the active repo pointer and kicks off the loop again. Use when the user says 'resume auto-audit', 'continue the audit', or after a session restart.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
An autonomous security auditor for Claude Code. Point it at a GitHub repo; it scans for security vulnerabilities, triages false positives, writes a proof of concept, fixes each confirmed bug in its own PR, independently reviews the fix, and merges when the review is clean. It keeps doing that until the queue is drained, then rescans, until you stop it or the session ends.
auto-audit is available from the wrxck-claude-plugins marketplace. From Claude Code:
/plugin marketplace add wrxck/claude-plugins
/plugin install auto-audit@wrxck-claude-plugins
Full requirements and alternative install paths are in the Install section below.
1. /auto-audit:start <repo>
2. init workspace -> audit-security (subagent scans repo) -> findings queue
3. /loop /auto-audit:tick -> pick next pending finding
one lifecycle stage per tick:
discovered -> triaging (security-triage subagent)
triaging -> confirmed or false_positive
confirmed -> poc_written (poc-builder subagent)
poc_written -> fix_committed (security-fixer subagent; new branch, commit)
fix_committed -> pr_opened (branch push + gh pr create)
pr_opened -> reviewing (security-reviewer subagent, independent, no prior context)
reviewing -> pr_approved or pr_rejected
pr_approved -> merged (gh pr merge --squash; if merge_policy=auto)
pr_approved -> skipped (if merge_policy=manual; left for a human to merge)
pr_rejected -> confirmed (fixer gets another go, bounded by max_fix_iterations)
tick ends after one stage; the /loop invokes it again.
Each tick advances exactly one finding by one stage. That makes the loop cheap to interrupt and makes the independent-review checkpoint a real checkpoint rather than theatre.
| Command | Purpose |
|---|---|
/auto-audit:start <repo> [modules=security] [policy=manual|auto] | Clone, scan, start the loop (policy defaults to manual). If another audit is already active, repoints the active pointer to the new repo; the previous repo's state stays on disk. |
/auto-audit:tick | Advance one finding by one stage. Normally the /loop calls this for you. |
/auto-audit:status [--all | <slug>] | Status of the active repo by default. Pass a slug for a specific repo, or --all for a one-line summary across every repo. |
/auto-audit:resume [slug] | Resume after /auto-audit:stop or session restart. Eagerly recovers any findings stuck mid-tick. |
/auto-audit:stop [slug] | Drop the active-repo pointer; press Esc to cancel the /loop. Pass a slug to scope which repo to stop. |
/auto-audit:report [--all | <slug>] | Generate a self-contained HTML audit report (summary stats, per-finding detail, full activity log). Output at ${repo_dir}/reports/<timestamp>.html. Print-friendly so PDF / DOCX / PPTX conversion via weasyprint / chromium / pandoc is a one-shot follow-up. |
/auto-audit:feedback <kind> <note> [json-extra] | Record operator feedback against the active repo. Kinds: fix_pattern_rejected, fix_pattern_approved, human_revert, triage_override, reviewer_disagreed, note. Triager and fixer subagents read the log on every future tick and weigh past entries; the reviewer does not read it to preserve independent-review. |
repo — GitHub URL (https://github.com/owner/name, [email protected]:owner/name.git) or shorthand owner/name.modules — comma-separated. Today only security is implemented.policy:
manual (default) — stop at pr_approved and mark the finding skipped. A human must merge.auto — merge each PR automatically after an independent reviewer approves. Opt-in only; see the Security section before enabling.audit_library_surface config flagSet to true in ${AUTO_AUDIT_DATA}/repos/<slug>/config.json to make the triager treat publicly-exported but currently-uncalled API surface as confirmed rather than false_positive. Default is false (only flag exploitable runtime paths). Use true for libraries / SDKs / shared modules where future callers cannot be assumed safe; use false for application code where reachability is fully knowable. Severity of library-surface findings is automatically dropped one tier (e.g. critical → medium) since exploitability requires a future caller. The flag exists because triagers running independently kept disagreeing on the same dead-code question, flipping verdict run-to-run; codifying it makes the posture explicit and reproducible.
npx claudepluginhub wrxck/claude-plugins --plugin auto-auditLearns from your corrections and writes hooks so Claude never repeats the same mistake
Create detailed Mermaid diagrams for architecture, flows, ERDs, and more — and improve READMEs with visual documentation
Mines your Claude Code history, config, and session transcripts, spots the workflows you keep repeating, and forges them into the right artifact — a skill, subagent, hook, slash command, workflow, or a full publishable plugin. Local-only analysis; hands off to mcp-forge, behavior-hooks, and matts-second-brain where they fit.
Git workflow - commit validation, conventional commits, PR creation, releases, code review
Code style enforcement - comments, imports, file length, icons/emojis, TODOs, library choices
Perform security audit on codebase
Automated OWASP security checks — Web Top 10:2025, LLM Top 10:2025, API Security Top 10:2023
AI-powered security auditing with interactive skills, automated agents, web dependency scanning, and supply chain hardening for comprehensive vulnerability detection and reporting
Agentic-Security is a powerful Claude Code plugin that automatically performs Application Security Testing (SAST, SCA, secrets detection, and more). Think of it as the easy button for making your Claude-generated code safe and secure.
Automated code review, security scanning, and quality enforcement
Open-source cybersecurity analysis agent. Scans any local project for vulnerabilities: code security (SAST), dependency CVEs (SCA), secret leaks, authentication/authorization flaws, cryptographic weaknesses, misconfigurations, supply chain risks, and CI/CD security. Covers all OWASP 2025 Top 10 and CWE Top 25 categories. Generates prioritized reports with remediation guidance. Invoke with /cyber-neo [path].