mcpField
M
MCP Shield

MCP Shield

ローカル
github.com/sophiacaveセキュリティ020 週間前に更新

MCP Shield について

MCP Shield は、MCP サーバーのコードやプロジェクトのセキュリティ問題を調べるオープンソースのスキャナーです。20 のルールで検査し、CWE 参照と修正案を含む結果、および A〜F の評価を提示します。

主な機能

  1. 0120 項目のセキュリティルール
  2. 02SSRF とパストラバーサル検査
  3. 03インジェクションと認証の検査
  4. 04CWE 参照付きの検出結果
  5. 05修正案の提示
  6. 06A〜F のセキュリティ評価

活用シーン

  1. 01MCP サーバーのソースファイルをスキャン
  2. 02プロジェクトのセキュリティリスクを確認
  3. 03検出結果と修正手順を確認

MCP 対応

MCP Shield は、ファイル、ディレクトリ、コードをスキャンする MCP ツールを提供します。CLI としても実行できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sophiacave-mcp-shield": {
"command": "npx",
"args": [
"-y",
"@sophiacave/mcp-shield"
]
}
}
}
起動コマンドnpx -y @sophiacave/mcp-shield

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

パッケージ
npm@sophiacave/mcp-shield1.0.7

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Shield

CI

License: MIT Python 3.10+ Tests: 28 passing MCP Compatible

MCP サーバー向けのオープンソースセキュリティスキャナーです。 6 カテゴリーにわたる 20 のルールで、あらゆるサーバーを数秒でスキャンし、A から F までの評価を取得できます。

MCP サーバーの 36.7%に SSRF の脆弱性があります(BlueRock、2026)。82%にパストラバーサルの欠陥があります。本番環境に対応できるのは、わずか 17%です。MCP Shield は、攻撃者より先に脆弱性を発見します。

クイックスタート

git clone https://github.com/sophiacave/mcp-shield
cd mcp-shield

# Scan a file
python3 src/cli.py scan path/to/mcp_server.py

# Scan a project
python3 src/cli.py scan path/to/mcp-project/

チェック項目(20 のルール)

ルール深刻度検出内容
SSRF-01CriticalHTTP リクエスト URL に含まれるユーザー入力
SSRF-02Medium検証されていない動的 URL
SSRF-03MediumDNS リバインディング(URL は検証されているが、IP が固定されていない)
PATH-01Highファイルパスに含まれるユーザー入力
PATH-02Mediumパストラバーサル対策がない
PATH-03Medium確認なしでシンボリックリンクをたどる
INJ-01Criticalユーザー入力に対する eval/exec
INJ-02CriticalSQL 文字列への値の埋め込み
INJ-03Highshell=True を指定した subprocess
INJ-04High.format() によるテンプレートインジェクション
INJ-05Critical安全でないデシリアライズ(pickle/yaml)
AUTH-01Mediumツールハンドラーに認証がない
AUTH-02Criticalハードコードされたシークレット/API キー(OpenAI、Stripe、GitHub、AWS)
AUTH-03Lowツールエンドポイントにレート制限がない
SEC-01HighSSL 検証が無効
SEC-02Mediumワイルドカード CORS
SEC-03Mediumクライアントにスタックトレース/エラーの詳細を公開
SEC-04Low入力長の検証がない(DoS のリスク)
LOG-01Lowツール呼び出しのログ/監査証跡がない

テスト

python3 tests/test_integration.py
# 28 tests, 0 failures

MCP サーバーとの統合

~/.claude/mcp.json に追加します。

{
  "mcpServers": {
    "mcp-shield": {
      "command": "python3",
      "args": ["/path/to/mcp-shield/src/mcp_server.py"]
    }
  }
}

Claude Code ツール:shield_scan_file、shield_scan_directory、shield_scan_code

出力例

MCP Shield: my-server/ — 3 finding(s)

  [CRIT] SSRF-01: Potential SSRF: Dynamic URL from user input
    requests call with dynamic URL that may include user input
    Location: server.py:45
    Fix: Validate URL against allowlist. Block internal IPs.
    CWE: CWE-918

  [HIGH] INJ-03: Command injection: subprocess with shell=True
    subprocess called with shell=True. User input in args = RCE.
    Location: tools.py:112
    Fix: Use subprocess with shell=False and pass args as list.
    CWE: CWE-78

  [MED] AUTH-01: No authentication detected on tool handlers
    MCP tool handlers found but no auth logic detected
    Fix: Add authentication middleware.
    CWE: CWE-306

Grade: F | 1 critical, 1 high, 1 medium

特長

  • 依存関係ゼロ — 純粋な Python で、pip のインストールは不要です
  • 20 のセキュリティルール — SSRF、パストラバーサル、インジェクション、認証、設定、ロギングを対象とします
  • CWE 参照 — 各検出結果を Common Weakness Enumeration ID に対応付けます
  • 実用的な修正方法 — 各検出結果に具体的な修正手順が含まれます
  • A~F の評価 — セキュリティ態勢を即座に評価します
  • デュアルモード — CLI として、または Claude Code 内の MCP サーバーとして実行できます
  • 高速 — 一般的な MCP サーバーを 1 秒未満でスキャンします

開発の背景

MCP エコシステムには 9,400 以上のサーバーがあり、SDK の月間ダウンロード数は 9,700 万回に達しています。セキュリティツールはその進化に追いついていません。セキュリティスキャンなしでデプロイされるすべての MCP サーバーがリスクとなるため、MCP Shield を開発しました。

Like One が開発しました。同団体は 501(c)(3) 非営利団体です。セキュリティツールは無料であるべきです。

ライセンス

MIT — Like One

コメント

MCP は初めてですか?

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

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