2026年7月17日 2 分钟阅读

MCP X-Ray 实战:用 Traceforce 的开源扫描器给你的 MCP 服务器做安全体检

tinyash 0 条评论

你的 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_KEYOPENAI_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-5ANTHROPIC_API_KEY
OpenAI (GPT)gpt-5OPENAI_API_KEY
AWS Bedrock (Meta Llama)Llama 推理 profile ARNAWS 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)意味着你可以将它嵌入到任何开发流程中。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。