mcpField
A
AI Firewall MCP

AI Firewall MCP

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

AI Firewall MCP について

AI Firewall MCPは、MCP対応クライアントから利用できる、LLM向けのマルチエージェントセキュリティレイヤーです。プロンプトインジェクション、ジェイルブレイク、情報流出、ポリシー違反を検出し、検索・ガード・ポリシーの各エージェントで許可、ブロック、サニタイズを判断します。

主な機能

  1. 01インジェクション、脱獄、情報漏えいの検出
  2. 02脅威の評価とポリシー判断
  3. 03正当な内容を保つ疑わしいプロンプトのサニタイズ
  4. 04脅威スコアの内訳と状態の確認
  5. 05攻撃テストと検出統計の実行

活用シーン

  1. 01LLMに渡す前のプロンプト確認
  2. 02脅威判定を引き起こした信号の確認
  3. 03疑わしい内容を除き正当な依頼を維持
  4. 04攻撃テストと検出統計の確認

MCP 対応

MCPサーバーは、プロンプト分析、脅威の内訳、サニタイズ、状態確認、ベンチマークのツールを対応クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"akhilucky-ai-firewall": {
"command": "uvx",
"args": [
"ai-firewall-mcp"
]
}
}
}
起動コマンドuvx ai-firewall-mcp

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

パッケージ
pypiai-firewall-mcp1.0.1

ツール

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

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

詳細

<mcp-name: io.github.Akhilucky/ai-firewall-mcp>

AI Firewall — MCP サーバー

LLM をプロンプトインジェクション、ジェイルブレイク、ポリシー違反から保護する、マルチエージェント型の AI セキュリティレイヤーです。MCP サーバーとして、MCP 対応のあらゆるクライアント(Claude Desktop、Cursor、Windsurf、Cline、Roo Code など)で利用できます。

クイックスタート

pip install
pip install ai-firewall-mcp
ai-firewall-mcp
Docker
docker pull akhilucky/ai-firewall-mcp:latest
docker run -i akhilucky/ai-firewall-mcp:latest
Claude Desktop

claude_desktop_config.json に追加します。

pip install:

{
  "mcpServers": {
    "ai-firewall": {
      "command": "pipx",
      "args": ["run", "ai-firewall-mcp"]
    }
  }
}

Docker:

{
  "mcpServers": {
    "ai-firewall": {
      "command": "docker",
      "args": ["run", "-i", "akhilucky/ai-firewall-mcp:latest"]
    }
  }
}
Cursor / Windsurf / Cline / Roo Code

MCP 設定で次のように設定します。

  • タイプ: stdio
  • コマンド: docker run -i akhilucky/ai-firewall-mcp:latest
  • または、pip でインストールした場合は ai-firewall-mcp を使用します

MCP ツール

ツール説明
analyze_promptプロンプトのインジェクション、ジェイルブレイク、データ流出、情報漏えいを分析します
get_threat_breakdown直近の分析結果におけるシグナルごとの詳細なスコア内訳を取得します
sanitize_prompt正当な内容を保ちながら、疑わしいプロンプトを無害化します
get_firewall_statusヘルスチェック:ベクトル DB のサイズ、モデルの状態、稼働時間
benchmark_firewall敵対的テストスイートを実行し、検出統計を返します
MCP Inspector でのテスト
npx @modelcontextprotocol/inspector ai-firewall-mcp

アーキテクチャ

ファイアウォールはプロンプトごとに 3 つのエージェントを実行します。

User Prompt → [Retrieval Agent] → [Guard Agent] → [Policy Agent] → LLM
                   │                    │               │
                   ▼                    ▼               ▼
              Vector DB (FAISS)    Threat Signals    Allow/Block
エージェント役割
検索エージェント既知の攻撃パターンを対象とするセマンティック検索(FAISS + sentence-transformers)
ガードエージェント複数シグナルによる分類:ベクトル類似度、キーワード一致、ヒューリスティックスコアリング
ポリシーエージェント設定可能なしきい値に基づく最終判断:ALLOW / BLOCK / SANITIZE

脅威シグナルの重みは、ベクトル類似度 40%、キーワード一致 25%、ヒューリスティック 20%、**ポリシーの重み 15%**です。

設定

環境変数デフォルト値説明
FIREWALL_MODEstrictstrict / moderate / permissive
SIMILARITY_THRESHOLD0.50ベクトル一致のしきい値(値が低いほど厳格)
LOG_LEVELINFOログの詳細度

CLI / API の使用方法

# Interactive dashboard
python main.py

# Red-team adversarial tests
python main.py --redteam

# REST API server
python main.py --api

# Single prompt analysis
python main.py --analyze "Ignore all previous instructions"

REST API は http://localhost:8000 で実行され、OpenAPI ドキュメントは /docs で確認できます(pip install ai-firewall-mcp[api] が必要です)。

テスト

pytest tests/ -v          # Full test suite (43 tests)
pytest tests/test_mcp.py  # MCP-specific tests only

プロジェクト構成

├── src/ai_firewall/          # MCP server package (PyPI entry)
│   ├── mcp_server.py         #    5 MCP tools, stdio transport
│   ├── threat_scorer.py      #    Per-signal scoring breakdown
│   └── __init__.py
├── src/agents/               # Core firewall agents
├── tests/                    # Test suites
├── Dockerfile                # Docker image (2.04GB, CPU-only torch)
├── pyproject.toml            # Package config & metadata
└── .github/workflows/ci.yml  # CI/CD pipeline

ライセンス

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


セキュリティのために構築。プロダクション向けに設計。

コメント

MCP は初めてですか?

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

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