MCP服务器安全扫描工具

一款用于扫描MCP服务器配置和源代码,检测明文密钥、注入漏洞和缺失认证等安全问题的工具。

  • by SatishoBananamoto
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 SatishoBananamoto/probe

使用说明

探测

MCP服务器安全扫描程序。在MCP配置中查找明文秘密、注入漏洞和缺少身份验证。

为什么

您将MCP服务器连接到您的AI代理。这些服务器获得工具访问权限、环境变量和文件系统路径。他们安全吗?

探测器扫描MCP配置和服务器源代码以查找安全问题,将每个服务器分级为A-F,并告诉您要修复的内容。

安装

pip install mcp-probe

用法

# 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".

秘密侦查

减少误报的三层方法:

  1. 已知前缀:来自OpenAI、Anthropic、GitHub、AWS、Slack、GitLab、Google、npm、PyPI等的API密钥的18种模式
  2. 熵分析:在具有类似秘密的密钥名称的值上,香农熵>3.5
  3. 关键字名称启发式:标记命名的环境变量 API_KEY, SECRET, TOKEN等等。

价值观,如 ${ENV_VAR}, <placeholder>,以及 CHANGEME 被自动列入白名单。

许可证

麻省理工学院