MCP Server For Garak LLM Vulnerability Scanner について
MCP Server For Garak LLM Vulnerability Scannerは、MCPホストからGarakを使い、選択したプローブでモデルをテストします。複数のモデルタイプの脆弱性を調べるチーム向けです。
主な機能
- 01対応モデルタイプの一覧表示
- 02タイプ別モデルの確認
- 03Garakプローブの一覧表示
- 04モデルとプローブを指定したスキャン
- 05直近のレポート取得
活用シーン
- 01テスト前に利用可能なモデルを確認
- 02選択したプローブでモデルをスキャン
- 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、必須):使用する攻撃/プローブの名前
- 検出された脆弱性のリストを返します
前提条件
-
Python 3.11 以降:このプロジェクトには Python 3.11 以降が必要です。
# Check your Python version python --version -
uv のインストール:高速な Python パッケージインストーラー兼リゾルバーです。
pip install uvまたは Homebrew を使用します:
brew install uv -
任意:Ollama:ollama モデルに対して攻撃を実行する場合は、ollama サーバーが実行中であることを確認してください。
ollama serve
インストール
- このリポジトリをクローンします:
git clone https://github.com/BIGdeadLock/Garak-MCP.git
- MCP ホスト(Claude Desktop、Cursor など)を設定します:
{
"mcpServers": {
"garak-mcp": {
"command": "uv",
"args": ["--directory", "path-to/Garak-MCP", "run", "garak-server"],
"env": {}
}
}
}
テスト済み:
- Cursor
- Claude Desktop
脆弱性スキャンの実行
付属の CLI ツールを使用して、Garak の脆弱性スキャンを直接実行できます。
スキャンの前提条件
-
Ollama が実行中であること:
ollama serve -
スキャンするモデルをプルすること:
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 に移動します
- カスタムオプション:手動実行時にモデルとプローブを指定できます
- 結果:スキャン結果はワークフローのアーティファクトとしてアップロードされます
自動スキャンを有効にするには:
- ワークフローファイルが
.github/workflows/garak-scan.ymlにあることを確認します - リポジトリにプッシュします
- Actions タブでスキャン結果を確認します
今後の予定
- Smithery AI のサポートを追加:Docker と設定
- レポート機能を改善
- OpenAI モデル(GPT-3.5、GPT-4)をテストおよび検証
- HuggingFace モデルをテストおよび検証
- ローカル GGML モデルをテストおよび検証
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。