探测
MCP服务器安全扫描程序。在MCP配置中查找明文秘密、注入漏洞和缺少身份验证。
为什么
您将MCP服务器连接到您的AI代理。这些服务器获得工具访问权限、环境变量和文件系统路径。他们安全吗?
探测器扫描MCP配置和服务器源代码以查找安全问题,将每个服务器分级为A-F,并告诉您要修复的内容。
安装
pip install -e .用法
# Scan all discovered MCP servers
probe scan
# Verbose output (descriptions + fix recommendations)
probe scan -v
# JSON output (for CI/CD)
probe scan --json
# Scan specific config file
probe scan -p ~/.mcp.json
# Only scan specific server(s)
probe scan -s my-server -s other-server
# List discovered servers without scanning
probe list它检查什么
| 类别 | 发现内容 | 严重性 |
|---|---|---|
| 秘密 | 硬编码API密钥(OpenAI、Anthropic、GitHub、AWS、Slack、18+类型)、高熵证书、类似秘密的env var名称 | 关键/高 |
| 注入 | 递归源扫描 subprocess(shell=True), os.system(), eval(), exec(),命令中的f字符串,Python导入别名,Node.js child_process.exec() | 临界/高 |
| 文件系统 | 访问 /etc/passwd, ~/.ssh, ~/.aws路径遍历模式;无防护删除/chmod | 高/中 |
| 验证 | 工具处理程序中缺少输入验证,直接访问字典而不进行错误处理 | 中等/低 |
| 运输 | 未加密的HTTP,特权提升(sudo),未缝合 npx/uvx 包 | 严重/严重 |
配置发现
探针自动从以下位置发现MCP配置:
- 克劳德代码:
~/.mcp.json+项目级.mcp.json(从cwd走过来) - 光标:
~/.cursor/mcp.json - VS Code:
~/.vscode/settings.json - 帆板运动:
~/.windsurf/mcp.json
或者直接使用指定路径 probe scan -p /path/to/config.json.
源路径 args 首先相对于MCP配置文件进行解析,然后是当前工作目录。对于本地Python服务器, probe 还解决 python -m package.module 当模块位于配置文件旁边时。
评分
每个服务器都会得到一个分数(0-100)和一个等级:
| 等级 | 分数 | 含义 |
|---|---|---|
| A | 90-100 | 非常好——没有重大问题 |
| B | 75-89 | 很好——只是小问题 |
| C | 60-74 | 需要改进 |
| D | 40-59 | 差——存在重大安全漏洞 |
| F | 0-39 | 失败——关键漏洞 |
任何关键发现都将得分限制在35分(自动F)。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 干净——没有关键或高发现 |
| 2 | 安全问题——检测到关键或高发现 |
在CI中使用: probe scan --json || echo "Security issues found".
秘密侦查
减少误报的三层方法:
- 已知前缀:来自OpenAI、Anthropic、GitHub、AWS、Slack、GitLab、Google、npm、PyPI等的API密钥的18种模式
- 熵分析:在具有类似秘密的密钥名称的值上,香农熵>3.5
- 关键字名称启发式:标记命名的环境变量
API_KEY,SECRET,TOKEN等等。
价值观,如 ${ENV_VAR}, ,以及 CHANGEME 被自动列入白名单。
许可证
麻省理工学院
