MCP Blast-Radius Auditor 用于在将任意 MCP 服务器加入 Agent 之前,先查看它实际能够触及的范围。该工具支持静态爆炸半径提取,并可作为 MCP 服务器的 CI 偏差门禁。即使目标服务器没有声明清单(manifest),仍然可以获得完整的爆炸半径报告;如果服务器声明了清单,则可以额外捕获其实际行为与声明边界之间的偏差。
用途
- 在接入第三方 MCP 服务器前,评估其潜在影响范围。
- 当服务器提供清单时,发现其触碰了声称不会触碰的文件,并可在 CI 中阻止合并。
- 作为 CI 阻断门禁,对偏差进行拦截。
主要能力
- 通过表层静态分析,提取第三方 MCP 服务器能够触及的内容:文件、网络、子进程、环境变量。
- 在存在清单时,将提取结果与声明的边界进行比对。
- 结果判定:红色(阻断)表示检测到偏差,代码触及了清单未声明的路径或能力;绿色表示无偏差,或者没有清单时仅输出爆炸半径报告并建议性通过。
扫描范围
- 默认范围:仅生产包。排除 tests/、docs/、examples/、scripts/、benchmarks/、.github/ 以及 test_*.py 模式。
- JSON 输出包含 scan_scope 和 excluded_file_count。
- 传入 --include-peripheral 可扫描整个仓库。
使用方式
第一步:一条命令扫描服务器。将 --target-dir 指向你的发布包根目录(例如 src/)。默认范围会排除 tests、docs 和 scripts。
第二步:阅读 JSON 输出。未声明的能力通常是漂移而非恶意;应将网络/子进程计数视为上限,而非已确认的流量。
第三步:申请审计徽章(可选、需主动选择)。如果完成了干净的扫描并希望获得签名的 README 徽章,可以提交徽章申请,粘贴你的命令和 JSON。免费,90 天证明,无回传。标准见 BADGE_CRITERIA.md。独立验证任何已发布的证明:先 pip install cryptography,然后运行 packaging/scripts/verify_attestation.py(接受本地路径或 HTTPS URL)。详见 BADGE_CRITERIA.md 的 Verify 部分。
MCP 与 CLI
- pipx run mcp-blast-radius 会启动 MCP stdio 服务器,适用于 Claude Desktop / Cursor。
- 用于 CLI 扫描时,使用 mcp-blast-radius-gate。
CI 阻断门禁
- aos_compliance_validate:扫描一个 MCP 服务器目录(target_dir 必填;tool_id 可选标签)。
- aos_compliance_self_test:接线冒烟测试。
- 默认 gate_mode=advisory。在 CI 中使用 gate_mode=blocking 时,出现偏差即失败。
提取内容
- 文件、网络、子进程、环境变量等表层能力。
限制
- 仅限静态分析。动态导入、getattr / eval、混淆以及原生扩展可能隐藏能力。该工具不声称覆盖完整,每项发现都会附带置信度标签。
机器可读元数据
- Agent Card(能力、限制、定价):agent_card.json
- 目录条目(定价、安装、MCP 端点):aos-standard/catalog
- 规范:AOS-v0.1
报告扫描问题
- 携带 JSON 输出提交 GitHub issue,结构化模板会自动加载。