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

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

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

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

ツールディレクトリ

カテゴリ

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

garak

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

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

人気

すべて見る →

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

すべてのツールを探索

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

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

garak, LLM脆弱性スキャナー

Generative 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` で開発バージョンをインストール

標準の pip バージョンの `garak` は定期的に更新されます。GitHub から最新のバージョンを入手するには、次のようにしてください:```
python -m pip install -U git+https://github.com/NVIDIA/garak.git@main

ソースからクローン

garak には独自の依存関係があります。garak を独自の Conda 環境にインストールできます:``` conda create --name garak "python>=3.10,<=3.12" conda activate garak gh repo clone NVIDIA/garak cd garak python -m pip install -e .

OK、問題なければ、おそらくこれで準備完了です!

**注意**: `NVIDIA` GitHub組織への移行前にクローンしたが、このドキュメントを `github.com/NVIDIA` URI で読んでいる場合は、以下のようにリモートを更新してください。```
git remote set-url origin https://github.com/NVIDIA/garak.git

はじめに

一般的な構文は以下の通りです:

garak <オプション>

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

garak --list_probes

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

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

ヘルプやインスピレーションについては、Twitterまたはdiscordでお問い合わせください!

使用例

商用モデルに対するエンコーディングベースのプロンプトインジェクションのプローブ(OSX/*nix)(実際のOpenAI APIキーで例の値を置き換えてください)``` export OPENAI_API_KEY="sk-123XXXXXXXXXXXX" python3 -m garak --target_type openai --target_name gpt-5-nano --probes encoding

See if the Hugging Face version of GPT2 is vulnerable to DAN 11.0```
python3 -m garak --target_type huggingface --target_name gpt2 --probes dan.Dan_11_0

結果の読み方

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

以下は、encoding モジュールを GPT-3 派生モデルで実行した結果です: alt text

同じ結果を ChatGPT で実行した場合: alt text

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

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

PR を送信し、Issue を開いてください。楽しいハンティングを!

ジェネレーター入門

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 環境変数を「読み取り」ロールを持つ 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

rest.RestGenerator は非常に柔軟で、プレーンテキストまたは JSON を返す任意の REST エンドポイントに接続できます。短い設定が必要で、通常はエンドポイントを記述した短い YAML ファイルが作成されます。例については https://reference.garak.ai/en/latest/garak.generators.rest.html を参照してください。

NIM

ツールをダウンロード