Snyk Agent Scan
Scan AI agent components (MCP servers, skills) for prompt injections and vulnerabilities
Evidence shows: default interactive scans require explicit user consent (y/n) for each stdio MCP server, showing command and arguments; provides --dangerously-run-mcp-servers flag but explicitly warns to use only in trusted environments; documentation states scanning executes commands in MCP configs and recommends sandboxing; data flow transparency: documentation states skills, agent applications, tool names, and descriptions are shared with Snyk, but claims no usage data is stored or logged; sensitive data handling: detects hardcoded secrets and credential handling issues, but does not explain how discovered sensitive data is handled; dependency security: pyproject.toml pins rich version and overrides several transitive dependencies for security fixes, but no evidence of dependency vulnerability scanning; external effects: scanning executes MCP server commands, potentially causing external effects, but controlled via user consent and warnings; rollback: no rollback or undo mechanism provided; source attribution: publisher unverified, but documentation provides GPG signature verification steps. Deductions: rollback mechanism absent, data flow transparency partial (no API call details), sensitive data handling partial (no post-scan data disposition).
Evidence shows: README and documentation are consistent; CLI parameters and commands clearly defined; dependencies listed in pyproject.toml, but no guarantee of dependency availability; failure messages: documentation mentions error handling (e.g., user_declined error), but no detailed failure message examples. Deductions: dependency availability unverified, failure message details insufficient.
Evidence shows: clearly lists supported agents and OS matrix, and detection scope; capability boundaries: documentation states which agents and scopes are scanned and which are not; trigger precision: CLI parameters allow specifying config files, directories, or skills, and provide options like --no-skills; environment fit: supports multiple OS and Python versions, provides uvx and binary run methods. Deductions: capability boundaries not fully detailed for all agents, trigger precision not exhaustive.
Evidence shows: clear information architecture with README, docs directory, CHANGELOG; detailed install notes including uvx and binary methods; naming stability: CLI output marked experimental and subject to change; examples and FAQ: multiple examples and demo provided; known limitations: documentation mentions specific limitations for some agents (e.g., Amp project-scope skills not scanned); license: Apache-2.0, LICENSE file present; versioning and changelog: CHANGELOG.md exists, version in pyproject.toml; maintenance responsibility: documentation states no external contributions accepted, but issues welcome. Deductions: naming stability deducted due to experimental output, maintenance responsibility lacks clear update path.
Evidence shows: output usability: provides JSON and rich text output, documentation explains JSON schema; marginal value: provides security scanning functionality, detects multiple risks, has technical report; cost-benefit: requires Snyk API token, may involve cost, but no pricing information provided. Deductions: cost-benefit lacks specific cost information, output usability lacks output examples.
Evidence shows: claim traceability: README and documentation describe features in detail, but no specific test results; cross-source corroboration: provides technical report and blog links, but no independent verification; fact-inference separation: documentation distinguishes feature descriptions and warnings, but does not explicitly separate facts and inferences. Deductions: claim traceability lacks test evidence, cross-source corroboration lacks independent verification.
- Scanning MCP configs executes commands defined in them, posing security risks; always run in a sandbox and review consent prompts carefully.
- CLI output is experimental and subject to change; do not rely on specific fields.
- Publisher identity is unverified; verify binary signatures and checksums before use.
What does this agent do, and when should you use it?
Snyk Agent Scan is a CLI tool that automatically discovers and scans locally installed AI agent components, including MCP servers and skills, for common security threats like prompt injection, tool poisoning, and malware payloads. It supports multiple agents (Claude Code, Cursor, Windsurf, etc.) across macOS, Linux, and Windows. The tool offers two modes: CLI scanning and background MDM mode for periodic scans reported to Snyk Evo. Requires a Snyk API token, with a security warning that scanning MCP configs executes defined commands. CLI output is experimental and may change.
Agent Scan auto-discovers agent configurations (e.g., Claude Code, Cursor, Windsurf, Gemini CLI), reads MCP config files (like mcp.json, .vscode/mcp.json), connects to stdio MCP servers to retrieve tool descriptions, and scans skill files (like SKILL.md). It runs local checks and invokes the Agent Scan API for validation, detecting 15+ risk types including prompt injection (E001), tool poisoning (E001), tool shadowing (E002), toxic flows, malware payloads (E006), etc. Output defaults to rich text, with --json option. Commands include scan, inspect, and help, with flags --no-skills, --dangerously-run-mcp-servers.
- Security teams scanning MCP configs in CI/CD pipelines to prevent prompt injection
- Developers quickly scanning ~/.claude/skills to find malicious payloads in skills
- macOS users scanning all agent components on the machine for a system-wide inventory
- Enterprises using background MDM mode to continuously monitor agent supply chain and report to Snyk Evo
- Security researchers evaluating third-party MCP configs in a sandbox to avoid executing malicious commands
- Analysts inspecting a specific MCP config file for tool poisoning and toxic flows
What are this agent's strengths and limitations?
- Auto-discovers a wide range of agents (Claude Code, Cursor, Windsurf, etc.) and skills
- Detects 15+ specific risks such as prompt injection, tool poisoning, and malware payloads
- Cross-platform support for macOS, Linux, and Windows
- Background MDM mode for centralized enterprise monitoring
- Standalone binaries with signed checksums for integrity verification
- Requires a Snyk API token and relies on Snyk API for verification
- Scanning MCP configs executes commands, posing security risks; sandboxing is recommended
- CLI output is experimental and subject to change, not suitable for production dependencies
- No external contributions accepted; only GitHub issues for feedback
- Large-scale API usage may be considered abuse and result in account blocking
How do you install or deploy this agent?
- Sign up at Snyk and get an API token (https://app.snyk.io/account). 2. Install uv (https://docs.astral.sh/uv/getting-started/installation/). 3. Set environment variable SNYK_TOKEN. 4. Run
uvx snyk-agent-scan@latestdirectly, or download a standalone binary from GitHub Releases.
How do you use this agent?
Run uvx snyk-agent-scan@latest to scan the entire machine. You can also specify paths: uvx snyk-agent-scan@latest ~/.vscode/mcp.json for a single config, uvx snyk-agent-scan@latest ~/my/SKILL.md for a single skill, uvx snyk-agent-scan@latest ~/.claude/skills for a directory. Interactive runs prompt before starting each MCP server; non-interactive environments require --dangerously-run-mcp-servers. Use --json for JSON output.
How does this agent compare with similar options?
This tool is offered by Snyk and is related to Invariant Labs' MCP-Scan, but no direct competitors are named in the documentation.