DM

daoyuanli2816/mcp-fence

Security testing

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

37 stars 6 forks 品質 77 トレンド 20Apache-2.0

ローカルファースト・セキュリティ・スキャナー、MCP プロトコル・インスペクター、動的ファザー、ドッカー・サンドボックス、およびモデル・コンテキスト・プロトコル・サーバーのレポート・ジェネレータ.

概要

ローカルファースト・セキュリティ・スキャナー、MCP プロトコル・インスペクター、動的ファザー、ドッカー・サンドボックス、およびサーバーのレポート・ジェネレーター。 mcp-fence は開発者向けツールです。 mcp.json(または書き込まれたMCPサーバーを実行している)でそれをポイントし、次のようになります。 1。 ツール中毒、危険な起動コマンド、プレーンテキストの秘密、スキーマのギャップ、および未使用のHTTP輸送用の構成とソース。 2. サーバは stdio を上回る — 初期化、ツール/リストを実行し、スキーマ/注釈を収集します。 3.スキーマ-awareのペイロード(パスのtraversal、命令の注入、SSRF、プロンプトの注入、特大入力、タイプ混乱)が付いているすべての用具。 デフォルトで安全; --toy-mode または --allow-unsafe 経由でランタイムのペイロードを選択して下さい。 4。 センシブルプロファイル(制限、ファイルシステム読み取り専用、ネットワーク拒否、dev)を備えたDocker内の任意のstdioサーバー。 5。 プレーンテキストテーブル、JSON、SARIF 2.1.0(GitHubコードスキャン用)、または完全にオフラインのHTMLページとして見つける。 です。 オプションのローカルLLMの判断は、ローカルオラマまたはOpenAI互換のエンドポイントに話すことができます.

概要(AI 翻訳)

ローカルファーストの保証走査器、MCPの議定書の検査官、動的fuzzer、 Docker サンドボックス、およびModel コンテキストプロトコルのレポートジェネレータ サーバー

[mcp-fence]は開発者ツールです。 [mcp.json でポイントをつけます。 MCP サーバを実行して、次のようにします。

1.状態にスキャンツール中毒の構成とソース、 危険な起動コマンド、プレーンテキストの秘密、スキーマのギャップ、および 非認証された HTTP トランスポート。 2。Inspect サーバは stdio 上に ライブ — [initialize を実行します。 [tools/list]は、スキーマ/注釈を収集します。 3。Fuzzスキーマ・ウェア・ペイロード(パス・トラバーサル、 コマンド注入、SSRFのプロンプト注入、特大入力、タイプ 混乱)。 デフォルトで安全;ランタイムペイロードを経由して選択 [--toy-mode または [--allow-unsafe] 。 4。Sandbox センシブルプロファイルを持つDockerの任意のstdioサーバー [strict, filesystem-readonly, [network-deny], [[dev]]). 5.報告書 プレーンテキストテーブル、JSON、SARIF 2.1.0(for GitHub コードのスキャン)、または完全にオフラインのHTMLページ。

非破壊、ローカル優先、およびnoクラウドLLMを使用して デフォルト。 オプションのローカルLLMの判断は、ローカルオラマや OpenAI対応エンドポイント

インストール

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

Local-first security scanner, MCP protocol inspector, dynamic fuzzer, Docker sandbox, and report generator for Model Context Protocol servers.

mcp-fence is a developer tool. Point it at your mcp.json (or any running MCP server you wrote) and it will:

  1. Statically scan the config and source for tool poisoning, dangerous startup commands, plaintext secrets, schema gaps, and unauthenticated HTTP transports.
  2. Inspect the server live over stdio — runs initialize, tools/list, gathers schemas/annotations.
  3. Fuzz every tool with schema-aware payloads (path traversal, command injection, SSRF, prompt injection, oversize input, type confusion). Safe by default; opt in to runtime payloads via --toy-mode or --allow-unsafe.
  4. Sandbox any stdio server in Docker with sensible profiles (strict, filesystem-readonly, network-deny, dev).
  5. Report findings as a plain-text table, JSON, SARIF 2.1.0 (for GitHub code scanning), or a fully offline HTML page.

It is non-destructive, local-first, and uses no cloud LLM by default. An optional local-LLM judge can talk to a local Ollama or OpenAI-compatible endpoint.

Install

From PyPI:

pip install mcp-fence

From source (for contributors):

git clone https://github.com/DaoyuanLi2816/mcp-fence
cd mcp-fence
python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
python -m pip install -e ".[dev]"

Requires Python 3.11+.

30-second quickstart

# 1. Bring up the bundled examples in your working directory.
mcp-fence init-example ./mcp-fence-examples

# 2. Static scan the intentionally poisoned metadata server.
mcp-fence scan mcp-fence-examples/vulnerable_metadata_server/mcp.json

# 3. Live-inspect the safe baseline.
mcp-fence inspect mcp-fence-examples/safe_server/mcp.json

# 4. Fuzz the arbitrary-file-read server.
mcp-fence fuzz mcp-fence-examples/vulnerable_filesystem_server/mcp.json

# 5. Generate a `docker run` command that sandboxes any of the above.
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →