Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
mcpguard-dynamic — カーネルレベルの eBPF サンドボックス - Model Context Protocol (MCP) を介して行われる LLM エージェントのツール呼び出しを保護します。 | Kitploit
ツール/GitHubGitHub/facebook/mcpguard-dynamic
防御ツールコンテナセキュリティ動的分析 (サンドボックス)コード分析セキュリティ仮想化侵入検知論文と研究設定ミス学習と教育インシデントレスポンスAIセキュリティ
6898215日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
facebook/mcpguard-dynamic

mcpguard-dynamic

カーネルレベルの eBPF サンドボックス - Model Context Protocol (MCP) を介して行われる LLM エージェントのツール呼び出しを保護します。

リポジトリを見る

MCPGuard-Dynamic

Model Context Protocol (MCP) を通じて行われる LLM エージェントのツール呼び出しに対するカーネルレベルのサンドボックス化。

MCPGuard は MCP クライアント (エージェント / ランナー) と MCP サーバーサブプロセスの間に透過プロキシとして位置し、すべてのツール呼び出しに対して 3 層の防御を適用します。最下層は eBPF で実装され、システムコール境界でケイパビリティポリシーを強制するため、悪意のある MCP サーバーが自身の実装内に機密性の高い動作をハードコードしてポリシーを回避することはできません。

このリポジトリには、プロキシ、eBPF プログラム、14 サーバー / 82 ケースのベンチマーク、および付随論文 Kernel-Level Sandboxing for LLM Agent Tool Calls via eBPF で使用された評価ハーネスが含まれています。

アーキテクチャ

層コンポーネント目的
L1proxy/policy_engine.py各ツールの MCP スキーマから導出されたサーバーごとのケイパビリティポリシー。パス、ネットワーク宛先、プロセス、環境変数の許可リスト。
L2proxy/argument_validator.pyツール呼び出し引数のアプリケーションレベル検査: パスの正規化、URL 検証、プロンプトインジェクション検出、環境変数漏洩 / コマンドインジェクション検出、機密キースキャン、レスポンスのサニタイズ。
L3ebpf/*.bpf.c + proxy/ebpf_sandbox.pyOS レベルの強制: 3 つの BPF LSM プログラム (file_guard、net_guard、proc_guard) が open() / connect() / execve() をインターセプトし、1 つのトレースポイントプログラム (fork_guard) が sched_process_fork を介して子プロセスを追跡することで、ポリシーが fork をまたいで引き継がれます。

6 つの切り替え可能な防御構成 (proxy/proxy_base.py) が、論文で使用されたアブレーション空間をカバーします: C0 (パススルー)、C-AB (AgentBound ベースライン)、C-app (L1 + L2)、C-ebpf (L3 のみ)、C-full (L1 + L2 + L3)、C-AB+ebpf (AgentBound + L3)。

リポジトリ構成

.
├── proxy/        L1 ポリシーエンジン、L2 引数バリデータ、L3 eBPF コントローラ、AgentBound ベースライン
├── ebpf/         file/net/proc/fork ガード用の BPF C ソース + Makefile + vmlinux.h
├── policies/     サーバーごとの JSON ケイパビリティポリシー (デフォルト + オーバーライド)
├── servers/      14 の MCP サーバー: 11 の Python (filesystem、notes、weather、shell、sqlite、git、env + 悪意のある / トロイの木馬バリアント) + 3 の JavaScript (servers/js/)
├── test_cases/   7 カテゴリにわたる 82 のベンチマークシナリオ (file_read、exfiltration、env_leak、sandbox_escape、priv_escalation、cross_language、benign)
├── notes_data/   notes_server で使用される 170 の有効な合成ノート JSON フィクスチャ
├── runner/       evaluate.py、aggregate.py、agentbound_check.py、ebpf_edge_tests.py、latency_benchmark.py、override_workflow.py、smoke_test.py
└── EXECUTION_PLAN.md   フェーズごとの再現手順

要件

  • BPF LSM が有効な Linux カーネル 6.x (CONFIG_BPF_LSM=y、カーネルコマンドラインに lsm=bpf)
  • BPF ターゲットをサポートする clang 21 以降
  • BPF プログラムとマップをロードするための bpftool
  • Python 3.12 (標準ライブラリのみ — サードパーティ依存なし)
  • Node.js 16+ (servers/js/ 配下の JavaScript MCP サーバー専用)

クイックスタート

# Build the eBPF programs
cd ebpf && make && cd ..

# Smoke test (one server, a handful of cases)
python3 runner/smoke_test.py

# Full benchmark for one configuration
python3 runner/evaluate.py --config C-full --run-id trial

# Aggregate a reproduced run
python3 runner/aggregate.py --run-id trial

# Reproduce the steady-state latency table after installing eBPF
sudo python3 runner/latency_benchmark.py --run-id codex_20260523_latency --iterations 100 --warmup 20

# Reproduce the audit/override workflow
python3 runner/override_workflow.py --run-id codex_20260523_override

# Run focused eBPF edge tests after installing eBPF
sudo python3 runner/ebpf_edge_tests.py --run-id codex_20260523_ebpf_edges

# Run AgentBound-style baseline conformance checks
python3 runner/agentbound_check.py --run-id codex_20260523_agentbound

C-ebpf、C-full、C-AB+ebpf は、BPF LSM プログラムとピン留めされたマップが利用できない場合、フェイルクローズするようになりました。これらは root 権限で eBPF 層をインストールした後にのみ実行してください。

主要な結果

単一の固定された実行 codex_20260523_full (14 サーバー、82 ケースのベンチマーク。これは fx_r のカテゴリ別プロファイルです — 論文の表 1 は N=5 の平均を報告しているため、ここでの C-app は 13/48 と表示され、平均の 12/48 とは異なります) における、攻撃防止率 (APR)、実行可能攻撃 APR (V-APR)、および誤検知率 (FPR):

構成APRV-APRブロックされた実行可能攻撃FPR
C021.3%0.0%0/480/21
C-AB37.7%20.8%10/480/21
C-app42.6%27.1%13/480/21
C-ebpf60.7%50.0%24/480/21
C-full68.9%60.4%29/480/21
C-AB+ebpf67.2%58.3%28/480/21

APR には C0 で本質的に失敗する攻撃が含まれます。V-APR は C0 で成功する攻撃のみを分母として使用しており、これは防御カバレッジのより保守的な指標です。

良性呼び出しの反復レイテンシベンチマークは、内部論文ワークスペースに results/latency/codex_20260523_latency.md として保存されています。これは BN-01 (filesystem_server.read_file) を 20 回のウォームアップ呼び出しと構成ごとに 100 回の測定呼び出しで測定します。C-full は C0 に対して中央値レイテンシが +0.488 ms 増加し、この固定された良性呼び出しでは p95 が 1.141 ms のままです。公開 CodeSync ツリーには results/ が含まれていないため、外部ユーザーは上記のコマンドでこの成果物を再生成します。

監査 / オーバーライドワークフローは、内部に results/audit/codex_20260523_override.md として保存されています。これは、良性の拒否が構造化された監査イベントとして記録され、policies/overrides 互換のレイアウトの下でスコープ付きオペレーターオーバーライドを追加することによって解決される方法を示しています。

集中的な eBPF エッジテストは、内部に results/ebpf_edges/codex_20260523_ebpf_edges.md として保存されています。これらは、フェイルクローズのマップ可用性、ワークスペース書き込み許可動作、ディレクトリプレフィックス境界の拒否、/tmp ステージングの拒否、および localhost への持ち出しの拒否をカバーしています。

AgentBound スタイルのベースライン検査は、内部に results/agentbound/codex_20260523_agentbound.md として保存されています。これは、C-AB がサーバーごとのアプリケーションレベルの再現であることを文書化し、期待される引数可視カバレッジと実装隠蔽の盲点を検証します。

脅威モデル

MCP サーバーは信頼されていないものとして扱われます。良性だが設定ミス、意図的に悪意がある、または正規サーバーのトロイの木馬化されたフォークである可能性があります。エージェント / ランナーとホスト OS は信頼されています。eBPF 層はカーネルが侵害されていないことを前提としています。カーネル内の権限昇格 (カーネルモジュールにおける CWE-269) は対象外です。

引用

論文が公開され次第、BibTeX エントリがここに追加されます。

コントリビューション

CONTRIBUTING.md を参照してください。すべてのコントリビューターは Meta の CLA に署名する必要があります。

セキュリティ

セキュリティ問題を報告するには、SECURITY.md を参照してください。セキュリティ報告のために公開 GitHub issue を作成しないでください。

ライセンス

MIT — LICENSE を参照してください。

ツールをダウンロード