Garak logo

Garak

開く

NVIDIAが開発するオープンソースのLLM脆弱性スキャナー。数十のプラグインと数千のプロンプトで、脱獄・プロンプトインジェクション・データ漏洩を検出。モデルとエージェントのセキュリティテストの業界標準。

共有:

Garak

Garak(「generative AI red-teaming and assessment kit」)は、NVIDIA が開発するオープンソースの LLM 脆弱性スキャナーです。言語モデルが意図しない方法で失敗させられないかをチェックし、幻覚、データ漏洩、プロンプトインジェクション、誤情報、有害コンテンツ生成、脱獄など数十種類の弱点を検出します。nmap や Metasploit Framework をご存知なら、garak は LLM に対して同じような役割を果たすツールであり、モデル・エージェントのセキュリティテストの業界標準的出発点として広く推奨されています。

主な機能

  • 数十のスキャンプラグイン:幻覚、プロンプトインジェクション、脱獄、PII 漏洩、誤情報などを対象に、静的・動的・適応型のプローブを実行し、毎回レポートを生成します。
  • 幅広いモデル対応:Hugging Face の生成モデル、OpenAI のチャット・継続モデル、AWS Bedrock、Replicate、LiteLLM、REST エンドポイント、llama.cpp 経由の GGUF モデルに対応。
  • エージェント対応プローブ:最近の追加で、エージェントが触れられるツールを検証する agent-breaker プローブを搭載し、テキストプロンプト攻撃の枠を超えています。
  • nmap 風のワークフロー:スキャン・分析・レポートの流れが従来のセキュリティツールと似ているため、セキュリティチームが素早く導入できます。
  • 研究に裏付け:arXiv 論文で説明され、DEF CON でも紹介され、NVIDIA がバックアップするコミュニティで継続開発されています。
  • 無料・オープンソース:Apache-2.0 ライセンスで、pip install -U garak で導入できます。

使用シナリオ

  • リリース前のレッドチーミング:公開前にモデルや RAG システムをスキャンし、プロンプトインジェクションや脱獄経路を発見します。
  • 継続的なセキュリティ監視:プロンプトやモデルが変わるたびに再スキャンします。合格したスキャンはあくまで一瞬のスナップショットです。
  • エージェントのツール監査:コーディングやブラウジングエージェントが触れるツールを、テキスト出力だけでなくテストします。
  • ベンダー評価:採用前にプロバイダー間でモデルやサービスの挙動を比較します。

料金プラン

Garak は Apache-2.0 ライセンスの下で無料・オープンソースです。スキャンが消費するモデル推論やプロバイダー利用分のみ、別途かかります。

はじめに

  1. python -m pip install -U garak でインストールします。
  2. モデルを選択します(例:OpenAI のチャットモデル、ローカルの GGUF ファイル)。
  3. garak --model_type openai-chat --model_name gpt-4o-mini でデフォルトスキャンを実行します。
  4. 生成されたレポートを読み、見つかった脆弱性を修正して再スキャンします。

よくある質問

Garak は安全フィルターですか?

いいえ。Garak はレッドチーミング用スキャナーで、LLM 版のペネトレーションテストです。穴を見つけるもので、ブロックするものではありません。自分が所有する、または書面でテスト許可を得たシステムにのみ実行してください。

スキャンに合格すれば安全ですか?

いいえ。合格は一瞬のスナップショットにすぎません。プロンプト、モデル、ツールアクセスが変わったら必ず再実行してください。

ガードレールライブラリとの違いは?

ガードレールはモデルの前段に置いて入出力をフィルタリングします。Garak はモデルを能動的に攻撃して弱点を見つけます。両者は相補的です。まず Garak でスキャンし、その後に NeMo Guardrails などのガードレールを追加します。

代替案

  • NVIDIA NeMo Guardrails:デプロイ中に入出力をフィルタリングするランタイムガードレール。
  • Llama Guard 3:Meta の入出力モデレーション用分類モデル。
  • Langfuse:本番エージェント負荷向けの LLM 可観測性・評価トレーシング。

ヒントとベストプラクティス

  1. リリース前にスキャン:Garak をリリースパイプラインに組み込み、後回しにしないでください。
  2. エージェント層もテスト:モデルにツールアクセスがある場合は agent-breaker プローブを有効にします。
  3. ガードレールと併用:Garak で穴を見つけ、NeMo Guardrails などで一般的なものを塞ぎます。

まとめ

Garak は最も広く引用されるオープンソースの LLM 脆弱性スキャナーで、モデルとエージェント向けに nmap に似たツールキットを提供します。無料で NVIDIA が継続メンテナンスしており、攻撃者より先に LLM が何をさせられるか確かめたい人にとっての標準的な第一歩です。

コメント

まだコメントがありません。最初のコメントを投稿してください!