AI Agent 与 MCP 服务器的安全扫描工具,支持检测提示注入、工具投毒与数据泄露,提供运行时代理防护与 CI/CD 集成能力。
项目概述#
mcp-scan(现属 Snyk 旗下,原由 Invariant Labs AG 开发)是一款专注于 MCP (Model Context Protocol) 生态安全的命令行工具。它能自动发现并扫描本地 MCP 配置和 Agent 技能文件,利用静态分析和运行时代理技术,识别多种安全威胁。
当前版本: 0.4.2
许可证: Apache-2.0
主要语言: Python (91.6%)
核心安全检测能力#
MCP 安全漏洞检测#
- 提示注入攻击 (Prompt Injection)
- 工具投毒攻击 (Tool Poisoning Attacks)
- 有害流分析 (Toxic Flows)
- 跨源升级攻击 / 工具影子攻击
- MCP 拉地毯攻击 (Rug Pulls)
Agent 技能审查#
- 提示注入攻击检测
- 恶意负载检测
- 敏感数据处理识别
- 硬编码密钥检测
运行时防护能力#
代理模式 (mcp-scan proxy)#
- 实时监控 MCP 流量
- 工具调用检查与拦截
- 数据流约束验证
- PII 检测
- 间接提示注入防护
防护栏功能#
- 秘密检测与拦截
- 工具使用限制
- 自定义防护栏策略(YAML 配置)
- 本地规则执行(隐私保护)
自动发现支持#
自动发现以下客户端的 MCP 配置:
- Claude Code / Claude Desktop
- Cursor
- Gemini CLI
- Windsurf
快速开始#
# 全机扫描(自动发现代理、MCP 服务器、技能)
uvx mcp-scan@latest --skills
# 扫描特定配置文件
uvx mcp-scan@latest ~/.vscode/mcp.json
# 运行代理模式
uvx --with "mcp-scan[proxy]" mcp-scan@latest proxy
主要命令#
| 命令 | 功能 |
|---|---|
scan | 扫描配置文件,支持 --skills, --json, --full-toxic-flows 选项 |
proxy | 启动代理服务器进行实时监控 |
inspect | 查看工具描述详情(不进行安全检查) |
whitelist | 管理白名单(查看/添加/重置) |
环境要求#
- Python >= 3.10
- 推荐使用
uv包管理器
项目背景#
- 开发者: Invariant Labs AG(2025年6月被 Snyk 收购)
- 贡献政策: 当前不接受外部贡献
- 深度分析: 依赖 Invariant Guardrails 云端 API