audit
audit checks your whole AI coding agent setup in one pass and reports what is risky.
vulkro-live audit
vulkro-live audit --write-baseline .vulkro/audit-baseline.json
vulkro-live audit --diff .vulkro/audit-baseline.json
$ vulkro-live audit
Agent surface audit: scanned 5 config and instruction file(s).
MCP servers (1):
GREEN filesystem OK latest 2026.1.14, 404643 weekly downloads
via .mcp.json: npx -y @modelcontextprotocol/server-filesystem .
Config secrets (plaintext values that look like secrets):
HIGH filesystem/API_TOKEN = sk_...4c (token-prefix) (.mcp.json)
1 server(s), 0 flagged; 0 instruction finding(s); 0 network hook(s); 1 config secret(s); 0 dangerous setting(s).
It reads the config of Claude Code, Claude Desktop, Cursor, Windsurf and Cline, in the project and your home directory, and:
- checks every MCP server's package, like
inspect - scans every rules, skill and instruction file for prompt injection and hidden characters, like
warden - flags hooks that call the network
- flags config values (server env, headers, args) that look like plaintext secrets
- flags dangerous settings: auto-approve, permission bypass, hooks that download and run code
It never starts a server or runs a hook, and never reads your source code.
Baselines
--write-baseline saves a snapshot you can commit. --diff then reports only what changed since: a new server, a setting switched to auto-approve, a new hook or secret. In CI this stays quiet until your setup actually changes.
Flags
| Flag | Effect |
|---|---|
--write-baseline <file> | Save a snapshot of the current setup |
--diff <file> | Report only changes since that snapshot |
--min-age-days <n> | Newer than this is SUSPICIOUS (default 30) |
--min-downloads <n> | Fewer downloads than this is SUSPICIOUS (default 100) |
--no-cache | Skip the local cache |
--format <FORMAT> | text (default), json or sarif |
Exit codes: 0 nothing flagged, 1 anything flagged, 2 error.
For the scripts inside skills, run skillscan; for stored memory, memcheck.