mcpField
M
MCP Server For Garak LLM Vulnerability Scanner

MCP Server For Garak LLM Vulnerability Scanner

ローカル
github.com/EdenYavinAI・エージェント748 週間前に更新

MCP Server For Garak LLM Vulnerability Scanner について

MCP Server For Garak LLM Vulnerability Scannerは、MCPホストからGarakを使い、選択したプローブでモデルをテストします。複数のモデルタイプの脆弱性を調べるチーム向けです。

主な機能

  1. 01対応モデルタイプの一覧表示
  2. 02タイプ別モデルの確認
  3. 03Garakプローブの一覧表示
  4. 04モデルとプローブを指定したスキャン
  5. 05直近のレポート取得

活用シーン

  1. 01テスト前に利用可能なモデルを確認
  2. 02選択したプローブでモデルをスキャン
  3. 03前回実行の結果を取得

MCP 対応

CursorやClaude DesktopなどのMCPクライアントに、モデルとプローブの検索、攻撃の実行、レポート取得ツールを公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Garak LLM 脆弱性スキャナー用 MCP サーバー

Garak 用の軽量な MCP(Model Context Protocol)サーバーです。

例:

https://github.com/user-attachments/assets/f6095d26-2b79-4ef7-a889-fd6be27bbbda


提供されるツール

概要
名前説明
list_model_types利用可能なモデルタイプ(ollama、openai、huggingface、ggml)をすべて一覧表示します
list_models指定したモデルタイプで利用可能なモデルをすべて一覧表示します
list_garak_probes利用可能な Garak の攻撃/プローブをすべて一覧表示します
get_report最後に実行したレポートを取得します
run_attack指定したモデルとプローブで攻撃を実行します
詳細
  • list_model_types

    • 攻撃に使用できるモデルタイプをすべて一覧表示します
    • サポートされているモデルタイプ(ollama、openai、huggingface、ggml)のリストを返します
  • list_models

    • 指定したモデルタイプで利用可能なモデルをすべて一覧表示します
    • 入力パラメーター:
      • model_type(string、必須):一覧表示するモデルのタイプ(ollama、openai、huggingface、ggml)
    • 指定したタイプで利用可能なモデルのリストを返します
  • list_garak_probes

    • 利用可能な Garak の攻撃/プローブをすべて一覧表示します
    • 実行可能なプローブ/攻撃のリストを返します
  • get_report

    • 最後に実行したレポートを取得します
    • レポートファイルへのパスを返します
  • run_attack

    • 指定したモデルとプローブで攻撃を実行します
    • 入力パラメーター:
      • model_type(string、必須):使用するモデルのタイプ
      • model_name(string、必須):使用するモデルの名前
      • probe_name(string、必須):使用する攻撃/プローブの名前
    • 検出された脆弱性のリストを返します

前提条件

  1. Python 3.11 以降:このプロジェクトには Python 3.11 以降が必要です。

    # Check your Python version
    python --version
    
  2. uv のインストール:高速な Python パッケージインストーラー兼リゾルバーです。

    pip install uv
    

    または Homebrew を使用します:

    brew install uv
    
  3. 任意:Ollama:ollama モデルに対して攻撃を実行する場合は、ollama サーバーが実行中であることを確認してください。

ollama serve

インストール

  1. このリポジトリをクローンします:
git clone https://github.com/BIGdeadLock/Garak-MCP.git
  1. MCP ホスト(Claude Desktop、Cursor など)を設定します:
{
  "mcpServers": {
    "garak-mcp": {
      "command": "uv",
      "args": ["--directory", "path-to/Garak-MCP", "run", "garak-server"],
      "env": {}
    }
  }
}


テスト済み:

  • Cursor
  • Claude Desktop

脆弱性スキャンの実行

付属の CLI ツールを使用して、Garak の脆弱性スキャンを直接実行できます。

スキャンの前提条件
  1. Ollama が実行中であること:

    ollama serve
    
  2. スキャンするモデルをプルすること:

    ollama pull llama2
    
CLI スキャナーの使用

インストール後、garak-scan コマンドを使用できます:

# List available Ollama models
uv run garak-scan --list-models

# Scan a specific model with all probes
uv run garak-scan --model llama2

# Scan with specific probes
uv run garak-scan --model llama2 --probes encoding

# Scan with custom output directory
uv run garak-scan --model llama2 --output-dir ./my_scans

# Run multiple parallel attempts
uv run garak-scan --model llama2 --parallel-attempts 4
スキャン結果

スキャン結果は、JSONL ファイルとして output/ ディレクトリ(または指定したディレクトリ)に保存されます。各スキャンで、タイムスタンプ付きのレポートファイルが作成されます:

output/scan_llama2_20250125_143022.report.jsonl
GitHub Actions との統合

このリポジトリには、脆弱性スキャンを自動実行する GitHub Actions ワークフローが含まれています:

  • トリガー:main/master へのプッシュ、プルリクエスト、週次スケジュール(UTC 月曜日午前 2 時)
  • 手動実行:Actions → Garak LLM Vulnerability Scan → Run workflow に移動します
  • カスタムオプション:手動実行時にモデルとプローブを指定できます
  • 結果:スキャン結果はワークフローのアーティファクトとしてアップロードされます

自動スキャンを有効にするには:

  1. ワークフローファイルが .github/workflows/garak-scan.yml にあることを確認します
  2. リポジトリにプッシュします
  3. Actions タブでスキャン結果を確認します

今後の予定

  • Smithery AI のサポートを追加:Docker と設定
  • レポート機能を改善
  • OpenAI モデル(GPT-3.5、GPT-4)をテストおよび検証
  • HuggingFace モデルをテストおよび検証
  • ローカル GGML モデルをテストおよび検証

コメント

MCP は初めてですか?

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

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