
agent-scan v0.6.4-snapshot-6e2d290-1638
AI代理、MCP服务器和代理技能的安全扫描器。
Snyk Agent Scan
发现并扫描您机器上的代理组件,以检测提示注入
和漏洞(包括代理、MCP 服务器、技能)。
注意:CLI 输出为实验性功能,可能会发生变化
Agent Scan v0.5.x(计划弃用)
此 CLI 的原始输出——包括问题代码、字段名称、严重性标签和响应结构——均为实验性功能,可能会在版本之间不经通知而发生变化。我们不建议构建依赖于特定 CLI 输出字段或问题代码的生产工作流。
Agent Scan v0.6 及更高版本
此 CLI 的原始输出——包括风险指标名称、评分、字段名称和响应结构——均为实验性功能,可能会在版本之间不经通知而发生变化。我们不建议构建依赖于特定 CLI 输出字段或风险名称的生产工作流。
如果您是使用 Snyk 大规模管理代理安全风险的企业客户,CLI 输出可能无法反映发送到 Evo 平台并在其中显示的内容。支撑企业部署的底层集成、发现和风险评估是稳定且受支持的——任何变更都将按照 Snyk 标准产品实践进行沟通。请联系您的客户团队获取部署指导。
新功能 阅读我们与 Agent Scan 0.4 一同发布的关于代理技能生态系统新兴威胁的技术报告,该版本增加了对扫描代理技能的支持。
Agent Scan v0.5.x 输出
[!WARNING] Agent Scan v0.5.x 使用问题代码输出。此 CLI 行计划弃用。
Agent Scan v0.6 及更高版本输出
Agent Scan 帮助您发现所有已安装的代理组件(harness、MCP 服务器和技能),并扫描它们是否存在常见威胁,例如提示注入、敏感数据处理或隐藏在自然语言中的恶意软件负载。使用 --no-skills 可忽略对技能的分析。
安全警告
⚠️ 重要:扫描 MCP 配置可能会执行命令或发起出站网络请求。
为了获取工具描述,Agent Scan 会通过执行配置中的命令来启动 stdio MCP 服务器,并使用配置的标头连接到配置的远程 MCP 服务器 URL。
建议:
- 在沙箱中运行扫描(Docker 容器、虚拟机或一次性环境),以评估不受信任或第三方的 MCP 配置
- 在交互式扫描期间仔细查看同意提示;它会显示每个服务器的命令或远程 URL
- 仅在您已验证所有 MCP 服务器命令和远程 URL 的可信环境中使用
--dangerously-run-mcp-servers远程 MCP 请求会拒绝解析为链路本地地址或已知云元数据端点(
169.254.0.0/16、fe80::/10、fd00:ec2::254和100.100.100.200)的目标。回环地址和私有地址仍允许用于本地和内部 MCP 服务器。不遵循 HTTP 重定向。每次请求前都会验证 DNS,但在连接时再次解析会留下 DNS 重绑定窗口。默认情况下,在前台交互式运行期间,Agent Scan 在联系每个发现的 MCP 服务器之前需要用户明确同意(y/n)。后台和 push-key 扫描会继续自动检查远程服务器以实现集群覆盖,但除非设置了
--dangerously-run-mcp-servers,否则不会启动 stdio 服务器。
快速开始
选择以下两种方式之一来运行 Agent Scan:
- 使用
uvx运行 Python 包,按照以下说明操作。 - 从 GitHub Releases 下载适用于您平台的独立二进制文件。发布版本还包括 SBOM、校验和、签名校验和以及源代码归档。
在使用任一选项之前:
- 在 Snyk 注册并从 https://app.snyk.io/account 获取 API 令牌(API Token → KEY → 点击显示)。
- 在运行任何扫描之前将令牌设置为环境变量:
export SNYK_TOKEN=your-api-token-here
使用 uvx 运行
在你的系统上安装 uv。根据你的 CLI 版本选择相应的说明。
Agent Scan v0.5.x
以下示例固定使用 v0.5.17 作为具体的 v0.5.x 版本:
# Scan the whole machine
uvx [email protected]
# Scan a specific MCP configuration
uvx [email protected] ~/.vscode/mcp.json
# Scan a single agent skill
uvx [email protected] ~/path/to/my/SKILL.md
# Scan all Claude skills
uvx [email protected] ~/.claude/skills
[!WARNING] v0.5.x 使用 issue-code 输出和
2025-09-02分析 API。此 CLI 行计划弃用。
Agent Scan v0.6 及更高版本
# Scan the whole machine
uvx snyk-agent-scan@latest
# Scan a specific MCP configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json
# Scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md
# Scan all Claude skills
uvx snyk-agent-scan@latest ~/.claude/skills
v0.6 及更高版本使用基于风险的输出和 2026-07-10 分析 API。
两个版本都会扫描 MCP 服务器、工具、提示词、资源和技能,并自动发现受支持的代理配置,例如 Claude Code/Desktop、Cursor、Gemini CLI 和 Windsurf。
使用独立二进制文件运行
从最新的 GitHub Release 下载适用于你的操作系统和架构的二进制文件。发布页面还提供 SBOM(sbom-<version>.json)、校验和文件以及 GitHub 生成的源代码归档。请参阅验证独立二进制文件以验证你的下载。
亮点
- 自动发现 MCP 配置、代理工具、技能
- 扫描 Claude、Cursor、GitHub Copilot、Windsurf、Gemini CLI、Amp、Amazon Q 及其他代理。
Agent Scan v0.5.x
Agent Scan v0.6 及更高版本
支持的代理与能力
当代理的安装路径存在时,Agent Scan 会自动发现代理及其能力(MCP 服务器或技能)。下表显示了每个代理在哪些操作系统上会被扫描。
- ✓:该能力至少定义了一个路径。
- ✗:该代理在该操作系统下列出,但没有该能力的路径。
- —:该代理未包含在该操作系统中。
- 技能 可以使用
--no-skills忽略技能
| 代理 | macOS MCP | macOS 技能 | Linux MCP | Linux 技能 | Windows MCP | Windows 技能 |
|---|---|---|---|---|---|---|
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenClaw | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Amp | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Kiro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Antigravity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | — | — |
| Amazon Q | ✓ | ✗ | ✓ | ✗ | ✓ (WSL) | ✗ |
按范围划分的检测覆盖
上方的矩阵显示了每个代理在哪些操作系统上会被扫描。此矩阵则按配置范围和组件类型(技能与 MCP 服务器)细分检测情况,并跨操作系统合并统计。“服务器”指 MCP 服务器。
四种范围:
- 系统 — 适用于所有用户的机器级 / 管理员管理 / 企业配置(例如
managed-mcp.json、/etc、/Library/Application Support或ProgramData下的文件)。 - 用户 — 用户主目录配置(适用于其所有项目)。
- 项目 / 工作区 — 限定于已打开项目或工作区的配置。
- 扩展 / 插件 — 捆绑在已安装扩展或插件内部的组件。
图例:✓ 已检测 · ✗ 代理支持此项,但 Agent Scan 尚未扫描 · N/A 代理在此范围没有此类组件。