agentscan
A linter for the config files that give your coding agent its power.
A single .mcp.json can hand a model shell access. A CLAUDE.md can tell it to run whatever a scraped web page says. These files pass code review because they don't look like code.
- Nine rule families: permission bypass, shell-command MCP servers, over-broad filesystem roots, auto-run hooks, hardcoded keys, instructions that disable confirmation, unpinned MCP packages, wildcard tool grants.
- Covers Claude Code, Claude Desktop, Cursor, Cline/Roo, Windsurf and Copilot instruction files.
- No API keys, no network calls, no dependencies. Under a second on a normal repo, with a non-zero exit code for CI.
Know the limit
Static analysis of files on disk. It does not observe what the agent does at runtime.
$ pipx install git+https://github.com/ppradyoth/agentscan
$ agentscan .
CRITICAL AS001 permissions.defaultMode set to bypassPermissions
.claude/settings.json:3
CRITICAL AS001 MCP server 'shell' executes an arbitrary shell command
.mcp.json:4
CRITICAL AS004 Hardcoded secret (Anthropic API key)
.claude/settings.json:14
HIGH AS002 MCP filesystem server rooted at a broad path
Summary: CRITICAL:6 HIGH:2 MEDIUM:8