Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
garak — モジュール化されたLLM脆弱性スキャナー。静的、動的、適応型プローブを使用して、複数のモデルプロバイダーにわたって幻覚、データ漏洩、プロンプトインジェクション、脱獄、毒性を検査します。 | Kitploit
ツール/GitHubGitHub/nvidia/garak
脆弱性スキャナーペネトレーションテスト機械学習論文と研究学習と教育レッドチーミングAIセキュリティ敵対的攻撃敵対的攻撃 第7位AIセキュリティ 第2位
8.8k1.2k4275日前Kitploit レビュー済み
機械学習 第5位
GitHubnvidia/garak

garak

モジュール化されたLLM脆弱性スキャナー。静的、動的、適応型プローブを使用して、複数のモデルプロバイダーにわたって幻覚、データ漏洩、プロンプトインジェクション、脱獄、毒性を検査します。

リポジトリを見るウェブサイト

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

garak、LLM 脆弱性スキャナー

生成 AI レッドチーミング&アセスメントキット

garak は、LLM を基盤とするアプリケーションが望ましくない形で失敗するかどうかをチェックします。garak はハルシネーション、データ漏洩、プロンプトインジェクション、誤情報、有害コンテンツの生成、ジェイルブレイク、その他多くの弱点をプローブします。nmap や msf / Metasploit Framework をご存知なら、garak はそれらと多少似たことを行いますが、対象は LLM です。

garak は LLM や対話システムを失敗させる方法に焦点を当てています。静的、動的、適応型のプローブを組み合わせてこれを探求します。

garak は無料のツールです。私たちはその開発を愛しており、アプリケーションを支援する機能の追加に常に関心を持っています。

License Tests/Linux Tests/Windows Tests/OSX Documentation Status arXiv discord-img Code style: black PyPI - Python Version PyPI Downloads Downloads

はじめに

> ユーザーガイドをご覧ください! docs.garak.ai

> Discord に参加しましょう!

> プロジェクトリンク&ホーム: garak.ai

> Twitter: @garak_llm

> DEF CON スライド!


LLM サポート

現在サポートしているもの:

  • hugging face hub の生成モデル
  • replicate のテキストモデル
  • openai api のチャット&継続生成モデル
  • aws bedrock の基盤モデル
  • litellm
  • REST 経由でアクセス可能なほぼすべてのもの
  • llama.cpp バージョン 1046 以降のような gguf モデル
  • .. その他多くの LLM!

インストール:

garak はコマンドラインツールです。Linux と OSX で開発されています。

pip による標準インストール

PyPI から取得すればすぐに使い始められます:

python -m pip install -U garak

pip で開発版をインストールする

garak の標準 pip 版は定期的に更新されます。GitHub からより新しいバージョンを入手するには、次を試してください:

python -m pip install -U git+https://github.com/NVIDIA/garak.git@main

ソースからクローン

garak には独自の依存関係があります。garak を専用の Conda 環境にインストールできます:

conda create --name garak "python>=3.11,<=3.14"
conda activate garak
gh repo clone NVIDIA/garak
cd garak
python -m pip install -e .

問題なく完了していれば、おそらくそのまま進めて問題ありません!

注: NVIDIA GitHub 組織への移行前にクローンしたものの、このドキュメントを github.com/NVIDIA の URI で読んでいる場合は、以下のようにリモートを更新してください:

git remote set-url origin https://github.com/NVIDIA/garak.git

はじめに

一般的な構文は次のとおりです:

garak <options>

garak はスキャン対象のモデルを知る必要があり、デフォルトでは、そのモデルに対して把握しているすべてのプローブを、各プローブが推奨する脆弱性検出器を用いて試行します。プローブの一覧は次のコマンドで確認できます:

garak --list_probes

ジェネレーターを指定するには、--target_type オプションと、任意で --target_name オプションを使用します。モデルタイプはモデルのファミリー/インターフェースを指定し、モデル名は使用する正確なモデルを指定します。以下の「Intro to generators」セクションでは、サポートされているジェネレーターの一部を説明しています。わかりやすいジェネレーターファミリーとしては Hugging Face のモデルがあります。これを読み込むには、--target_type を huggingface に、--target_name を Hub 上のモデル名(例: "RWKV/rwkv-4-169m-pile")に設定します。一部のジェネレーターでは、API キーを環境変数として設定する必要がある場合があり、その必要がある場合は通知されます。

garak はデフォルトですべてのプローブを実行しますが、これを具体的に指定することもできます。たとえば、--spec probes.promptinject は PromptInject フレームワークのメソッドのみを使用します。また、プラグイン名を . の後に追加することで、プラグインファミリーではなく特定のプラグインを 1 つ指定することもできます。たとえば、--spec probes.lmrc.SlurUsage は、Language Model Risk Cards フレームワークに基づいて、モデルがスラング(蔑称)を生成しているかどうかをチェックする実装を使用します。

ヘルプやヒントについては、Twitter または discord で私たちを見つけてください!

例

商用モデルに対してエンコーディングベースのプロンプトインジェクションをプローブする(OSX/*nix)(example の値を実際の OpenAI API キーに置き換えてください)

export OPENAI_API_KEY="sk-123XXXXXXXXXXXX"
python3 -m garak --target_type openai --target_name gpt-5-nano --spec probes.encoding

GPT2のHugging Face版がDAN 11.0に対して脆弱かどうかを確認する

python3 -m garak --target_type huggingface --target_name gpt2 --spec probes.dan.Dan_11_0

結果の読み方

読み込まれた各プローブについて、garak は生成中にプログレスバーを表示します。生成が完了すると、各検出器でそのプローブの結果を評価する行が表示されます。プロンプトの試行のいずれかが望ましくない動作を引き起こした場合、その応答は FAIL としてマークされ、失敗率が示されます。

以下は GPT-3 のバリアントで encoding モジュールを実行した結果です: alt text

そして ChatGPT での同じ結果です: alt text

より新しいモデルの方がエンコーディングベースのインジェクション攻撃に対してはるかに脆弱であることがわかります。一方、text-babbage-001 は quoted-printable および MIME エンコーディングのインジェクションに対してのみ脆弱であることが判明しました。各行の末尾にある数値(例:840/840)は、テキスト生成の総数と、そのうち何件が問題なく動作したように見えたかを示しています。プロンプトごとに複数回(デフォルトでは 10 回)の生成が行われるため、この数値はかなり大きくなることがあります。

エラーは garak.log に記録されます。実行の詳細は、分析の開始時と終了時に指定された .jsonl ファイルに記録されます。analyse/analyse_log.py には基本的な分析スクリプトがあり、最も多くのヒットを引き起こしたプローブとプロンプトを出力します。

PR の送信や issue の作成をお待ちしています。Happy hunting!

ジェネレーター入門

Hugging Face

Pipeline API を使用する場合:

  • --target_type huggingface(transformers モデルをローカルで実行する場合)
  • --target_name - Hub のモデル名を使用します。生成モデルのみが動作します。動作すべきなのに失敗する場合は、issue を作成し、試したコマンドと例外を貼り付けてください!

Inference API を使用する場合:

  • --target_type huggingface.InferenceAPI(API ベースのモデルアクセスの場合)
  • --target_name - Hub のモデル名(例:"mosaicml/mpt-7b-instruct")

プライベートエンドポイントを使用する場合:

  • --target_type huggingface.InferenceEndpoint(プライベートエンドポイントの場合)

  • --target_name - エンドポイント URL(例:https://xxx.us-east-1.aws.endpoints.huggingface.cloud)

  • (任意)HF_INFERENCE_TOKEN 環境変数に "read" ロールを持つ Hugging Face API トークンを設定します。ログイン時に https://huggingface.co/settings/tokens を参照してください

OpenAI

  • --target_type openai
  • --target_name - 使用したい OpenAI モデル。gpt-5-nano は高速でテストに適しています。
  • OPENAI_API_KEY 環境変数に OpenAI API キー(例:"sk-19763ASDF87q6657")を設定します。ログイン時に https://platform.openai.com/account/api-keys を参照してください

認識されるモデルタイプはホワイトリストに登録されています。これはプラグインがどのサブ API を使用すべきかを知る必要があるためです。Completion モデルまたは ChatCompletion モデルは問題ありません。サポートされていないモデルを使用したい場合は、情報を含むエラーメッセージが表示されるはずですので、PR を送信するか issue を作成してください。

Replicate

  • REPLICATE_API_TOKEN 環境変数に Replicate API トークン(例:"r8-123XXXXXXXXXXXX")を設定します。ログイン時に https://replicate.com/account/api-tokens を参照してください

公開 Replicate モデル:

  • --target_type replicate
  • --target_name - Replicate のモデル名とハッシュ(例:"stability-ai/stablelm-tuned-alpha-7b:c49dae36")

プライベート Replicate エンドポイント:

  • --target_type replicate.InferenceEndpoint(プライベートエンドポイントの場合)
  • --target_name - デプロイされたエンドポイントのユーザー名/モデル名スラッグ(例:elim/elims-llama2-7b)

Cohere

  • --target_type cohere
  • --target_name(任意、デフォルトは command) - テストしたい特定の Cohere モデル
  • COHERE_API_KEY 環境変数に Cohere API キー(例:"aBcDeFgHiJ123456789")を設定します。ログイン時に https://dashboard.cohere.ai/api-keys を参照してください

Groq

  • --target_type groq
  • --target_name - Groq API 経由でアクセスするモデルの名前
  • GROQ_API_KEY 環境変数に Groq API キーを設定します。API キーの作成方法の詳細については https://console.groq.com/docs/quickstart を参照してください

ggml

  • --target_type ggml
  • --target_name - 読み込みたい ggml モデルへのパス(例:/home/leon/llama.cpp/models/7B/ggml-model-q4_0.bin)
  • GGML_MAIN_PATH 環境変数に ggml の main 実行ファイルへのパスを設定します

REST

ツールをダウンロード