Snyk 发布 Agent Scan:扫描 AI 代理与 MCP 服务器的安全风险
Snyk 推出 Agent Scan 工具,可自动发现本地 AI 代理组件、MCP 服务器与技能文件,并检测提示注入等…
Snyk 近日推出 Agent Scan,这是一款面向 AI 代理生态的安全扫描工具,能够自动发现本机上已安装的代理组件(包括 MCP 服务器、Skills 技能文件等),并对提示注入、恶意负载、敏感数据泄露等常见风险进行检测。随着 MCP(Model Context Protocol)协议被 Claude、Cursor、Gemini CLI、Windsurf 等主流 AI 编程工具广泛采用,第三方 MCP 组件的安全问题正受到越来越多的关注,Agent Scan 的发布正是在这一背景下切入。
工具核心能力
Agent Scan 支持对 MCP 服务器与 Skills 技能文件两大类对象进行扫描。在 v0.5.x 版本中,工具可识别 15 类以上安全风险,涵盖 MCP 侧的提示注入(Prompt Injection)、工具投毒(Tool Poisoning)、工具影子化(Tool Shadowing)与有毒流(Toxic Flows),以及 Skills 侧的提示注入、恶意负载、不可信内容、凭证处理与硬编码密钥等。
v0.6 及后续版本改用了基于风险指标(risk indicator)的输出模型,覆盖的风险类别进一步细分,包括 MCP 侧的「危险词」「不可信内容」「隐私数据」「破坏性能力」,以及 Skills 侧的「可疑下载」「恶意代码」「凭证处理」「密钥检测」等。需要注意的是,CLI 的原始输出(问题代码、字段名、严重程度标签等)仍处于实验阶段,官方不推荐用于生产工作流。
支持的代理与运行方式
工具默认会自动发现并扫描以下代理的配置:Claude Code/Desktop、Cursor、Windsurf、Gemini CLI、Amp、Amazon Q 等。Agent Scan 提供两种使用方式:
- 通过 uvx 运行 Python 包,例如
uvx snyk-agent-scan@latest; - 从 GitHub Releases 下载独立二进制文件,附带 SBOM、校验和与源码归档,便于审计。
使用前需在 Snyk 官网注册并获取 API Token,再通过环境变量 SNYK_TOKEN 注入。
安全警告与使用建议
由于扫描 MCP 配置时会实际执行其中定义的 stdio 命令以获取工具描述并进行分析,官方给出明确警告:
- 在沙箱环境(Docker 容器、虚拟机或一次性环境)中运行扫描,尤其是评估不可信的第三方 MCP 配置时;
- 交互式扫描时仔细阅读每条命令的确认提示;
- 仅在受信环境中使用
--dangerously-run-mcp-servers参数。
默认情况下,Agent Scan 在交互式运行时会逐个请求用户确认是否启动 stdio MCP 服务器,避免在用户不知情的情况下执行未知命令。
版本与路线说明
当前文档并行维护 v0.5.x 与 v0.6 两条 CLI 路线:v0.5.x 仍使用问题码(issue-code)输出格式与 2025-09-02 版分析 API,并已被规划为弃用;v0.6 及更新版本使用基于风险的输出与 2026-07-10 版分析 API,是未来推荐的主线。Snyk 表示,其企业版 Evo 平台在底层集成、发现与风险评估方面的能力是稳定且受支持的,如有变更将按标准产品流程提前沟通。
