MCP Blast-Radius Auditor

io.github.aos-standard由 GitHub 账号 aos-standard 发布v0.2.8更新于 Oct 24, 2026

Static blast-radius audit for MCP servers before agent install. Manifest optional.

发布方自己的服务:Blast Radius

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

在安装前对第三方 MCP 服务器做静态爆炸半径审计,展示它能访问哪些文件、网络、子进程和环境变量。

可以做什么
对 MCP 服务器的软件包目录做表层静态分析,报告其能力面:文件系统访问、网络调用、子进程使用和环境变量读取。当目标带有清单文件时,会把声明的边界与实际观察到的访问做对比并标出偏差。结果以 JSON 返回,并带有置信度标签(declared、observed-static、cannot-determine),CI 门禁模式可在出现偏差时以非零状态退出。提供两个 MCP 工具:aos_compliance_validate 用于扫描目录,aos_compliance_self_test 用于接线冒烟测试。
适用场景
适合在把第三方 MCP 服务器加入智能体之前使用,也适合放在 CI 中,在服务器访问了未声明的路径或能力时阻止合并。它面向的是审查不可信或不熟悉的服务器,而不是你已经信任的服务器。
运行要求
需要本地 Python 环境;软件包从 PyPI 安装(例如用 uvx 或 pip)。MCP stdio 服务器通过 mcp-blast-radius 命令启动,命令行扫描使用 mcp-blast-radius-gate。可选环境变量 AOS_VALIDATOR_TARGET_DIR、AOS_VALIDATOR_MCP_LOG 和 AOS_VALIDATOR_CALLER 分别设置默认扫描根目录、本地 JSONL 工具调用日志路径和调用方标签。未声明任何身份验证或 API 密钥。
安装前请注意
结果仅为静态分析且属于上限:动态导入、getattr 或 eval、混淆以及原生扩展可能隐藏能力,因此干净的结果并不等于安全证明。未声明的能力通常是漂移而非恶意。可选的徽章申请要求粘贴你的命令和 JSON 输出,可选的证明验证步骤会安装 cryptography 包。写入 AOS_VALIDATOR_MCP_LOG 的工具调用日志被描述为本地保存、绝不外发。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MCP Blast-Radius Auditor,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP Blast-Radius Auditor

[AOS audited]

See what any MCP server can actually touch — before you add it to your agent.

No manifest? You still get the full blast-radius report. Add a manifest to also catch divergences.

Also, if the server declares a manifest: Catch an MCP server that touches files it said it wouldn't — and block the merge in CI.

Statically extract what a third-party MCP server can reach (files, network, subprocess, env) via surface-level analysis. Compare against declared boundaries when a manifest is present.

Scan scope (default): production package only — excludes tests/, docs/, examples/, scripts/, benchmarks/, .github/, and test_*.py patterns; JSON output includes scan_scope and excluded_file_count. Pass --include-peripheral to scan the full repo.

Try it in 3 steps

① Scan your server in one command

bash
pip install mcp-blast-radius==0.2.5mcp-blast-radius-gate --gate-mode advisory --target-dir /path/to/your-mcp-server

Point --target-dir at your shipping package root (e.g. src/). Default scope excludes tests, docs, and scripts.

② Read the JSON

FieldWhat it means
gate_passScan finished (advisory = report either way; blocking = exit 1 on divergences)
blocking_reasonsLines starting with DIVERGENCE: = declared vs. observed mismatch (if you ship a manifest)
blast_radiusStatic capability surface (network, subprocess, env, filesystem)
confidence labelsdeclared / observed-static / cannot-determine — static only, upper bounds

Undeclared capability is usually drift, not malice. Treat network/subprocess counts as upper bounds, not confirmed traffic.

③ Apply for an audit badge (optional, opt-in)

Ran a clean scan and want a signed README badge? Open a badge application — paste your command and JSON. Free, 90-day attestation, no phone-home. Criteria: BADGE_CRITERIA.md.

To verify any published attestation independently: pip install cryptography, then run packaging/scripts/verify_attestation.py (accepts local paths or HTTPS URLs). See BADGE_CRITERIA.md §Verify.


Machine-readable metadata

Example walkthrough

bash
git clone --depth 1 https://github.com/oraios/serena.git /tmp/serenamcp-blast-radius-gate --gate-mode advisory --target-dir /tmp/serena

Inspect blast_radius and any DIVERGENCE: lines in blocking_reasons.

Report a scan question

Open a GitHub issue with your JSON output (structured template loads automatically).

30-second scan

bash
pip install mcp-blast-radiusmcp-blast-radius-gate --gate-mode blocking --target-dir /path/to/mcp-server

pipx run mcp-blast-radius starts the MCP stdio server (for Claude Desktop / Cursor). For CLI scanning, use mcp-blast-radius-gate as above.

  • Red (blocking): divergence detected — code touches paths or capabilities not declared in manifest.
  • Green: no divergences (or no manifest — blast radius report only, advisory pass).

Install

bash
python3 -m venv .venvsource .venv/bin/activatepip install .

CLI entry

bash
mcp-blast-radius          # MCP stdio servermcp-blast-radius-gate     # CI gate (default blocking, exit 1 on fail)

CI blocking gate

bash
mcp-blast-radius-gate --gate-mode blocking --target-dir .# no divergences → exit 0 / divergences or declaration violations → exit 1

MCP tools

  • aos_compliance_validate — scan one MCP server directory (target_dir required; tool_id optional label)
  • aos_compliance_self_test — wiring smoke test

Default gate_mode=advisory. Use gate_mode=blocking in CI to fail on divergences.

What is extracted

LayerScopeConfidence
Dependenciesrequirements.txt, pyproject.toml, package.jsondeclared
Python ASTimports, file I/O, network, env, subprocess; MCP tool attributionobserved-static / cannot-determine
Divergencemanifest permitted_output_paths / oracle_paths vs observed accessblocking when mismatch

Limitations: Static analysis only. Dynamic imports, getattr/eval, obfuscation, and native extensions may hide capabilities. We do not claim complete coverage — every finding includes a confidence label.

Environment

VariablePurpose
AOS_VALIDATOR_TARGET_DIRDefault scan root when target_dir is omitted
AOS_VALIDATOR_MCP_LOGJSONL path for local tool call log (never sent externally)
AOS_VALIDATOR_CALLERCaller label (ci, smoke_self_call, etc.)

Example

bash
aos_compliance_validate target_dir=/path/to/my-mcp-server gate_mode=blocking

License

MIT

来源:packaging/README.md,提交 d75ea1c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.2.8最新Sep 23, 2026
  2. v0.2.4Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Blast-Radius 集成