mcpField
M
MCP Blast-Radius Auditor

MCP Blast-Radius Auditor

ローカル
raw.githubusercontent.comセキュリティ015 週間前に更新

MCP Blast-Radius Auditor について

MCPサーバーがアクセスし得るファイル、ネットワーク、環境変数、サブプロセスなどを静的解析するツールです。MCPサーバーの保守担当者やレビュー担当者向けに、検出したアクセス範囲を宣言済みマニフェストと照合します。

主な機能

  1. 01能力と依存関係の静的スキャン
  2. 02マニフェストとアクセスの差異検出
  3. 03助言・ブロッキングのゲートモード
  4. 04JSONレポートの信頼度ラベル
  5. 05リポジトリ全体の任意スキャン

活用シーン

  1. 01インストール前のMCPサーバー審査
  2. 02マニフェスト超過時にCIを失敗させる
  3. 03宣言済み能力と検出能力の確認

MCP 対応

MCPクライアントに `aos_compliance_validate` と `aos_compliance_self_test` を提供します。stdioサーバーが対象のMCPサーバーディレクトリをスキャンし、静的な能力範囲とマニフェストとの差異を報告します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"aos-standard-mcp-blast-radius": {
"command": "uvx",
"args": [
"mcp-blast-radius"
]
}
}
}
起動コマンドuvx mcp-blast-radius

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-blast-radius0.2.8

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
mockbooleanいいえ
tool_idanyいいえ
gate_modeenumいいえadvisory | blocking
target_diranyいいえ

詳細

MCP Blast-Radius Auditor

AOS audited

MCP サーバーが実際にアクセスできる範囲を、エージェントに追加する前に確認できます。

マニフェストがなくても、完全な影響範囲レポートを取得できます。マニフェストを追加すると、相違点も検出できます。

また、サーバーがマニフェストを宣言している場合:MCP サーバーがアクセスしないと宣言したファイルにアクセスしていることを検出し、CI でマージをブロックできます。

サードパーティの MCP サーバーが到達できる範囲(ファイル、ネットワーク、サブプロセス、環境変数)を、表層的な分析によって静的に抽出します。マニフェストがある場合は、宣言された境界と比較します。

スキャン範囲(デフォルト): 本番パッケージのみです。tests/、docs/、examples/、scripts/、benchmarks/、.github/、および test_*.py パターンは除外されます。JSON 出力には scan_scope と excluded_file_count が含まれます。リポジトリ全体をスキャンするには --include-peripheral を指定してください。

3 ステップで試す

① 1 つのコマンドでサーバーをスキャンする

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

--target-dir に、出荷するパッケージのルート(例:src/)を指定します。デフォルトではテスト、ドキュメント、スクリプトが除外されます。

② JSON を読む

フィールド意味
gate_passスキャンが完了しました(advisory = どちらの場合もレポートを出力、blocking = 相違点がある場合に終了コード 1)
blocking_reasonsDIVERGENCE: で始まる行 = 宣言内容と観測内容の不一致(マニフェストを同梱している場合)
blast_radius静的な機能の範囲(ネットワーク、サブプロセス、環境変数、ファイルシステム)
confidence labelsdeclared / observed-static / cannot-determine — 静的解析のみ、上限値

宣言されていない機能は、通常、悪意ではなくドリフトです。ネットワークとサブプロセスの数は、確認済みの通信ではなく上限値として扱ってください。

③ 監査バッジを申請する(任意、希望者のみ)

スキャンが問題なく完了し、署名済みの README バッジをご希望ですか?バッジ申請を作成して、コマンドと JSON を貼り付けてください。無料で、90 日間有効な証明が発行され、外部への情報送信はありません。基準:BADGE_CRITERIA.md。

公開済みの証明を独立して検証するには、pip install cryptography を実行してから packaging/scripts/verify_attestation.py を実行してください(ローカルパスまたは HTTPS URL を受け付けます)。BADGE_CRITERIA.md §Verifyを参照してください。


機械可読メタデータ

使用例のウォークスルー

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

blast_radius と blocking_reasons 内の DIVERGENCE: 行を確認してください。

スキャンに関する質問を報告する

GitHub の issue を作成し、JSON 出力を添付してください(構造化テンプレートが自動で読み込まれます)。

30 秒でスキャン

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

pipx run mcp-blast-radius は MCP stdio サーバー(Claude Desktop / Cursor 用)を起動します。CLI でスキャンするには、上記のように mcp-blast-radius-gate を使用してください。

  • 赤(ブロック): 相違点が検出されました。コードがマニフェストで宣言されていないパスまたは機能にアクセスしています。
  • 緑: 相違点はありません(またはマニフェストがなく、影響範囲レポートのみを出力するアドバイザリーパスです)。

インストール

python3 -m venv .venv
source .venv/bin/activate
pip install .

CLI エントリーポイント

mcp-blast-radius          # MCP stdio server
mcp-blast-radius-gate     # CI gate (default blocking, exit 1 on fail)
CI ブロッキングゲート
mcp-blast-radius-gate --gate-mode blocking --target-dir .
# no divergences → exit 0 / divergences or declaration violations → exit 1

MCP ツール

  • aos_compliance_validate — 1 つの MCP サーバーディレクトリをスキャンします(target_dir は必須、tool_id は任意のラベル)
  • aos_compliance_self_test — 配線のスモークテスト

デフォルトの gate_mode=advisory を使用します。CI で相違点がある場合に失敗させるには、gate_mode=blocking を使用してください。

抽出される内容

レイヤー対象範囲信頼度
依存関係requirements.txt、pyproject.toml、package.jsondeclared
Python ASTインポート、ファイル I/O、ネットワーク、環境変数、サブプロセス、MCP ツールの帰属observed-static / cannot-determine
相違点マニフェストの permitted_output_paths / oracle_paths と観測されたアクセスの比較不一致がある場合はブロッキング

制限事項: 静的解析のみです。動的インポート、getattr / eval、難読化、ネイティブ拡張によって、機能が隠されている可能性があります。完全な網羅性は保証されません。各検出結果には confidence ラベルが含まれます。

環境

変数用途
AOS_VALIDATOR_TARGET_DIRtarget_dir が省略された場合のデフォルトのスキャンルート
AOS_VALIDATOR_MCP_LOGローカルのツール呼び出しログ用 JSONL パス(外部には送信されません)
AOS_VALIDATOR_CALLER呼び出し元のラベル(ci、smoke_self_call など)

例

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

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。