开发与工程 mcp-securityprompt-injectionsupply-chaincliskills

Snyk Agent Scan

扫描 AI 代理组件(MCP 服务器、技能)中的提示注入和漏洞

FollowAgents 评估 · FARS-2.1
谨慎使用
72/ 100 五分制 3.6 / 5
1 2 3 4 5 6
1信任安全19 / 29 · 3.3/5

证据显示:默认交互式扫描要求用户对每个stdio MCP服务器明确同意(y/n),并显示命令和参数;提供--dangerously-run-mcp-servers标志但明确警告仅在受信任环境使用;文档说明扫描会执行MCP配置中的命令,并建议在沙箱中运行;数据流透明性:文档说明技能、代理应用、工具名称和描述会与Snyk共享,但声明不存储或记录使用数据;敏感数据处理:检测硬编码密钥和凭据处理问题,但未说明如何处理扫描中发现的敏感数据;依赖安全:pyproject.toml中固定了rich版本,并覆盖了多个传递依赖的安全修复,但未提供依赖漏洞扫描证据;外部影响:扫描会执行MCP服务器命令,可能产生外部影响,但通过用户同意和警告进行控制;回滚:未提供扫描后回滚或撤销机制;来源归属:发布者未验证,但文档提供了GPG签名验证步骤。扣分原因:回滚机制缺失,数据流透明性部分(未说明API调用细节),敏感数据处理部分(未说明扫描后数据处置)。

2可靠稳定9 / 14 · 3.2/5

证据显示:README和文档描述一致,CLI参数和命令定义清晰;依赖在pyproject.toml中列出,但未提供依赖可用性保证;失败消息:文档提到错误处理(如user_declined错误),但未提供详细的失败消息示例。扣分原因:依赖可用性未验证,失败消息细节不足。

3适用触发14 / 18 · 3.9/5

证据显示:明确列出支持的代理和操作系统矩阵,以及检测范围;能力边界:文档说明哪些代理和范围被扫描,哪些不支持;触发精度:CLI参数允许指定配置文件、目录或技能,并提供--no-skills等选项;环境适配:支持多种操作系统和Python版本,提供uvx和二进制两种运行方式。扣分原因:能力边界部分未完全覆盖所有代理的细节,触发精度部分未说明所有可能的触发条件。

4规范维护15 / 18 · 4.2/5

证据显示:信息架构清晰,有README、docs目录、CHANGELOG;安装说明详细,包括uvx和二进制方式;命名稳定性:CLI输出标记为实验性,可能变化;示例和FAQ:提供多个示例和演示;已知限制:文档提到某些代理的特定限制(如Amp项目范围技能未扫描);许可证:Apache-2.0,LICENSE文件存在;版本和变更日志:有CHANGELOG.md,版本号在pyproject.toml中;维护责任:文档说明不接受外部贡献,但欢迎issue。扣分原因:命名稳定性因实验性输出而扣分,维护责任部分未明确更新路径。

5有效结果10 / 13 · 3.8/5

证据显示:输出可用性:提供JSON和富文本输出,文档说明JSON schema;边际价值:提供安全扫描功能,检测多种风险,有技术报告;成本效益:需要Snyk API token,可能涉及成本,但未提供定价信息。扣分原因:成本效益部分未提供具体成本信息,输出可用性部分未提供输出示例。

6证据核验5 / 8 · 3.1/5

证据显示:声明可追溯性:README和文档详细描述功能,但未提供具体测试结果;跨来源佐证:提供技术报告和博客链接,但未提供独立验证;事实与推断分离:文档区分了功能描述和警告,但未明确区分事实和推断。扣分原因:声明可追溯性部分未提供测试证据,跨来源佐证部分未提供独立验证。

证据充分度: 评估于 2026年8月9日 审查版本 ea959964ce47
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 扫描MCP配置会执行其中的命令,存在安全风险,务必在沙箱中运行并仔细审查同意提示。
  • CLI输出为实验性,可能随时变化,不建议依赖特定字段。
  • 发布者身份未验证,使用前应验证二进制签名和校验和。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Snyk Agent Scan 是一个命令行工具,自动发现并扫描本机安装的 AI 代理组件,包括 MCP 服务器和技能,以检测常见安全威胁如提示注入、工具投毒和恶意负载。它支持多种代理(Claude Code、Cursor、Windsurf 等)和多种操作系统(macOS、Linux、Windows)。该工具提供两种模式:CLI 扫描和后台 MDM 模式,可定期扫描并上报到 Snyk Evo 平台。需要 Snyk API 令牌,且有安全警告:扫描 MCP 配置会执行其中定义的命令。CLI 输出为实验性,可能变更。

Agent Scan 自动发现本机的代理配置(如 Claude Code、Cursor、Windsurf、Gemini CLI 等),读取 MCP 配置文件(如 mcp.json、.vscode/mcp.json),连接 stdio MCP 服务器获取工具描述,并扫描技能文件(如 SKILL.md)。它执行本地检查并调用 Agent Scan API 进行验证,检测 15+ 种风险,包括提示注入(E001)、工具投毒(E001)、工具遮蔽(E002)、有毒流程(ToxicFlows)、恶意负载(E006)等。输出默认提供富文本报告,也可用 --json 输出 JSON。命令包括 scan、inspect 和 help,支持 --no-skills、--dangerously-run-mcp-servers 等选项。

  1. 安全团队在 CI/CD 流水线中扫描 MCP 配置,确保无提示注入风险
  2. 开发者在本地快速扫描 ~/.claude/skills 目录,发现技能中的恶意负载
  3. macOS 用户扫描整个系统的代理组件,获得设备级清单
  4. 企业在 MDM 后台模式下持续监控公司范围内的代理供应链,上报到 Snyk Evo
  5. 在沙箱环境中评估第三方 MCP 配置,避免执行恶意命令
  6. 安全研究员分析特定 MCP 配置文件,检查工具投毒和有毒流程

这个 Agent 有哪些优点和局限?

优点
  • 自动发现多种代理(Claude Code、Cursor、Windsurf 等)和技能
  • 检测 15+ 种特定风险,如提示注入、工具投毒、恶意负载
  • 支持 macOS、Linux、Windows 多平台
  • 提供 MDM 后台模式,便于企业集中监控
  • 提供 GitHub Releases 独立二进制,附带签名校验
局限
  • 需要 Snyk API 令牌,依赖 Snyk 服务进行验证
  • 扫描 MCP 配置会执行其中命令,存在安全风险,需在沙箱中运行
  • CLI 输出为实验性,不稳定,不适合生产依赖
  • 不支持外部贡献,仅通过 GitHub issues 反馈
  • 大规模调用 API 可能被视为滥用,导致账号被封

如何安装或部署这个 Agent?

  1. 注册 Snyk 并获取 API 令牌(https://app.snyk.io/account)。2. 安装 uv(https://docs.astral.sh/uv/getting-started/installation/)。3. 设置环境变量 SNYK_TOKEN。4. 直接运行 uvx snyk-agent-scan@latest,或从 GitHub Releases 下载独立二进制。

如何使用这个 Agent?

运行 uvx snyk-agent-scan@latest 扫描整个机器。也可指定路径:uvx snyk-agent-scan@latest ~/.vscode/mcp.json 扫描单个配置,uvx snyk-agent-scan@latest ~/my/SKILL.md 扫描单个技能,uvx snyk-agent-scan@latest ~/.claude/skills 扫描目录。交互式运行时会提示是否启动每个 MCP 服务器;非交互环境需使用 --dangerously-run-mcp-servers。可加 --json 输出 JSON。

这个 Agent 与同类方案有什么区别?

该工具由 Snyk 提供,与 Invariant Labs 的 MCP-Scan 相关,但本文档未明确提及竞争产品。

常见问题

需要 Snyk 账号吗?
是的,需要注册 Snyk 并获取 API 令牌,用于调用验证 API。
扫描会执行 MCP 服务器吗?
会,扫描 MCP 配置时会启动 stdio MCP 服务器,因此建议在沙箱中运行,并注意交互式同意提示。
生成的报告格式是什么?
默认提供富文本报告,也可通过 --json 输出 JSON。但输出内容可能随版本变化,不建议依赖特定字段。
支持哪些操作系统?
支持 macOS、Linux 和 Windows,但不同代理的支持情况不同,具体见 README 中的矩阵。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents