MCP X-Ray 实战:用 Traceforce 的开源扫描器给你的 MCP 服务器做安全体检
你的 Claude Code、Cursor 或 Windsurf 正在连接多少个 MCP 服务器?这些服务器有没有安全漏洞?如果你像大多数 AI Agent 用户一样,从社区拉取了各种 MCP 服务器——文件系统、数据库、浏览器、API 网关——你可能正在运行一些从未经过安全审计的代码。
今天介绍 MCP X-Ray,一款由 Traceforce(YC S26) 开源的 MCP 服务器安全扫描和渗透测试工具。它用 Go 编写,支持配置扫描、渗透测试和代码仓库审计三种模式,输出标准的 SARIF 格式报告,可直接集成到 CI/CD 流水线中。
安装
MCP X-Ray 需要 Go 1.25.4 或更高版本:
git clone https://github.com/traceforce/mcp-xray cd mcp-xray make install-dependencies make all
编译完成后,当前目录下会生成 mcpxray 二进制文件。
Config Scan:快速扫描 MCP 配置的安全风险
config-scan 子命令可以扫描 MCP 配置文件,检测连接安全、密钥泄露和工具描述中的风险。它支持两种分析模式:
Token Analyzer(默认)——基于规则的模式匹配,不需要 API Key,离线可用:
./mcpxray config-scan /path/to/mcp/config.json ./mcpxray config-scan --scan-known-configs ./mcpxray config-scan /path/to/mcp/config.json --output report.sarif.json
LLM Analyzer——用大语言模型做深度语义分析,需要配置 ANTHROPIC_API_KEY 或 OPENAI_API_KEY:
./mcpxray config-scan /path/to/mcp/config.json \ --analyzer-type llm --llm-model claude-sonnet-4-5
三种检测能力:
- 连接安全:验证 TLS 证书、检测不安全的 localhost/loopback 暴露、校验 OAuth 2.0 配置
- 密钥检测:扫描暴露的凭证、API Key 和敏感信息
- 工具分析:分析工具描述中的风险,包括任意代码执行、注入漏洞、授权绕过和信息泄露
Pentest:对 MCP 服务器进行实际渗透测试
pentest 子命令会实际调用 MCP 服务器的工具接口,执行安全测试计划。注意:此模式需要 LLM 模型生成测试用例:
./mcpxray pentest /path/to/mcp/config.json \ --llm-model claude-sonnet-4-5 ./mcpxray pentest /path/to/mcp/config.json \ --test-plan /path/to/test-plan.yaml \ --llm-model claude-sonnet-4-5
检测范围涵盖:远程代码执行、SSRF、路径遍历、授权绕过、输入注入、信息泄露和拒绝服务漏洞。
Repo Scan:扫描 MCP 服务器源码
如果你拥有 MCP 服务器的源码(或者可以修改代码),repo-scan 可以直接扫描代码仓库:
./mcpxray repo-scan ./mcpxray repo-scan /path/to/repository
Repo Scan 集成了三种检测引擎:
- SCA(软件组成分析):通过 OSV API 检测有漏洞的依赖
- SAST(静态应用安全测试):识别不安全的命令模式和反安全模式
- 密钥检测:扫描硬编码的密钥和凭证
所有扫描结果都输出为 SARIF 格式,这是被广泛支持的静态分析结果交换格式,可以无缝对接 GitHub Code Scanning、Azure DevOps 等平台。
上传到 Traceforce Atlas 统一管理
扫描结果可以上传到 Traceforce Atlas 做集中管理和追踪。需要设置环境变量:
export TRACEFORCE_CLIENT_ID=your-client-id export TRACEFORCE_CLIENT_SECRET=your-client-secret
然后加上 --upload 标志:
./mcpxray config-scan /path/to/mcp/config.json --upload ./mcpxray pentest /path/to/mcp/config.json --llm-model claude-sonnet-4-5 --upload
Atlas 目前已有超过 600 个 MCP 服务器的安全评估数据库,可以跨时间追踪安全状态变化。
支持的 LLM 模型
MCP X-Ray 的 LLM Analyzer 和 Pentest 模式支持以下模型提供商:
| 提供商 | 示例模型 | 环境变量 |
|---|---|---|
| Anthropic (Claude) | claude-sonnet-4-5 | ANTHROPIC_API_KEY |
| OpenAI (GPT) | gpt-5 | OPENAI_API_KEY |
| AWS Bedrock (Meta Llama) | Llama 推理 profile ARN | AWS SDK 凭证 |
与 CI/CD 集成的最佳实践
将 MCP X-Ray 接入 CI/CD 流水线,可以自动在每次 MCP 配置变更时执行安全扫描:
./mcpxray config-scan ./mcp.json --output mcp-security.sarif.json if [ -s mcp-security.sarif.json ]; then echo "⚠️ MCP 安全扫描发现风险,请检查报告" cat mcp-security.sarif.json fi
MCP X-Ray 的 SARIF 输出兼容 GitHub Code Scanning,可以直接在 PR 中显示安全告警。
总结
MCP X-Ray 为 AI Agent 生态提供了一个急需的安全基础设施。随着 MCP 服务器数量快速增长——从数据库连接器到浏览器自动化工具,从文件系统访问到 API 网关——每个新接入的服务器都是一个潜在的攻击面。MCP X-Ray 的三种扫描模式覆盖了从配置检查到源码审计的完整安全生命周期,而且开源(Apache-2.0)意味着你可以将它嵌入到任何开发流程中。
相关链接: