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 整合