Skip to main content

cpv-batch-security-audit

Fleet-wide parallel security audit. Accepts local paths, GitHub URLs, marketplaces, lists, and @listfile shapes. One cpv-plugin-validator-agent per plugin runs ONLY validate_security (5 external scanners + AI/security rules). Use when checking supply-chain risk across many plugins. Trigger with /cpv-batch-security-audit or 'security-audit every plugin in X'.

Source facts

Repository
Emasoft/claude-plugins-validation
Last source activity
August 26, 2026 at 03:56
Detected SKILL.md language
English
Stars
4
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cpv-batch-security-audit
description
Fleet-wide parallel security audit. Accepts local paths, GitHub URLs, marketplaces, lists, and @listfile shapes. One cpv-plugin-validator-agent per plugin runs ONLY validate_security (5 external scanners + AI/security rules). Use when checking supply-chain risk across many plugins. Trigger with /cpv-batch-security-audit or 'security-audit every plugin in X'.
user-invocable
true
argument-hint
<plugin-or-marketplace-or-list> [--max-parallel N]
# cpv-batch-security-audit ## Overview Parallel security-audit skill. Runs ONLY the `validate_security` checker (5 external scanners — cc-audit, tirith, trufflehog, semgrep, Cisco AI Defense skill-scanner — plus the in-process AI and security rule packs) across every plugin in the user's input spec. Skips ~36 non-security validators that the full pipeline runs, so wall-time is lower when you only care about supply-chain risk. (Both pipelines benefit from v2.103.0's per-file parallel scanning — the relative gap depends on plugin shape.) Same input grammar and dispatch shape as [cpv-batch-validate](../cpv-batch-validate/SKILL.md). The orchestrator body lives in this plugin's `commands/cpv-batch-security-audit.md` slash-command file. ## Prerequisites - `claude-plugins-validation` plugin installed (provides `scripts/validate_security.py`, the universal input resolver, `scripts/print_menu.py` (the claude-menu-system bridge), and the `cpv-plugin-validator-agent` agent). - `claude-menu-system` plugin installed — the slash command emits the status table via its Stop-hook (through `scripts/print_menu.py`). Declared as a hard dependency in CPV's `plugin.json`; `print_menu.py` fails fast with an install hint if missing (there is no inline fallback renderer — TRDD-4de479a0). - The five external scanners installed (cc-audit, tirith, trufflehog, semgrep, Cisco AI Defense skill-scanner) — each self-skips when its binary is unreachable, so partial coverage is fine; run `cpv-doctor --install-scanners` to pre-install everything. - For URL inputs: `git` on PATH and network access to `github.com`. ## Inputs See the [cpv-batch-validate](../cpv-batch-validate/SKILL.md) input table — every shape is supported identically. ## Instructions 1. Confirm the user wants security-only (not full validation — that's `cpv-batch-validate`). 2. Invoke the slash command body: ```text /cpv-batch-security-audit <user's spec> [--max-parallel N] ``` 3. The command dispatches one `cpv-plugin-validator-agent` subagent per plugin in `batch_security_audit` mode (each runs `validate_security` only) and aggregates the per-plugin status JSONs into a CMS-shaped status-table spec, queued via `scripts/print_menu.py`. The claude-menu-system Stop hook emits the Unicode-bordered table post-turn via `systemMessage` (zero token cost — never enters the agent transcript). NEVER print the table inline. 4. The user gets the final status table (emitted by the Stop hook) + a one-line summary (`DONE: plugins=N clean=X findings=Y warning-only=Z`). 5. If any plugin has findings, suggest `/cpv-batch-fix <same spec>`. ## Output - Unicode-bordered status table (one row per plugin), queued via `scripts/print_menu.py` and emitted post-turn by the claude-menu-system Stop hook through `systemMessage` (zero token cost — never enters the agent transcript). - One-line DONE summary. - Per-plugin `validate_security` reports under `$MAIN_ROOT/reports/validate_security/<ts±tz>-<plugin>.md`. - Per-plugin status JSONs under `<session_dir>/plugin-<index>.status.json`. ## Token contract Same as `cpv-batch-validate` — ~3-4K main-session tokens for a 17-plugin batch. ## Error Handling | Condition | Behaviour | |---|---| | Empty input | Resolver raises; orchestrator surfaces and stops. | | Zero-plugin resolve | "Nothing to security-audit. ✓" + stop. | | External scanner missing | The scanner self-skips for that plugin; other scanners still run. The per-plugin status JSON's `notes` field lists skipped scanners. | | One agent fails | Failed plugin gets `failed` label in the status table; other agents complete normally. | | Network failure during URL clone | Resolver raises with a clear remediation message; no partial batch. | ## Examples ```text User: security-audit every plugin in our marketplace Assistant: /cpv-batch-security-audit Emasoft/emasoft-plugins User: I want a supply-chain snapshot across these three plugins Assistant: /cpv-batch-security-audit /path/a /path/b /path/c ``` ## Resources - TRDD-3dcbb37c — full design - `scripts/validate_security.py` — security checker (5 external scanners + in-process rules) - `commands/cpv-batch-security-audit.md` — orchestrator body (in this plugin) - Sibling batch skills: `cpv-batch-validate`, `cpv-batch-caching-audit`, `cpv-batch-caching-optimize`, `cpv-batch-fix`
View on GitHub