Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
augustus — LLMセキュリティテストフレームワーク — プロンプトインジェクション、ジェイルブレイク、敵対的攻撃を検出。190以上のプローブ、28のプロバイダ、単一のGoバイナリ。 | Kitploit
ツール/GitHubGitHub/praetorian-inc/augustus
脆弱性スキャナーファジングペネトレーションテスト学習と教育AIセキュリティ敵対的攻撃
GitHubpraetorian-inc/augustus

augustus

LLMセキュリティテストフレームワーク — プロンプトインジェクション、ジェイルブレイク、敵対的攻撃を検出。190以上のプローブ、28のプロバイダ、単一のGoバイナリ。

リポジトリを見る
2733583日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Augustus - LLM脆弱性スキャナー(プロンプトインジェクション、脱獄、敵対的攻撃テスト用)

Augustus - LLM脆弱性スキャナー

プロンプトインジェクション、脱獄、エンコーディング悪用、データ抽出をカバーする210以上の敵対的攻撃で大規模言語モデルをテストします。

CI Go Version License Go Report Card GitHub Release

Augustus は、セキュリティ専門家向けのGoベースのLLM脆弱性スキャナーです。幅広い敵対的攻撃に対して大規模言語モデルをテストし、28のLLMプロバイダーと統合し、実用的な脆弱性レポートを生成します。

研究指向のツールとは異なり、Augustusは本番環境のセキュリティテスト向けに構築されています。並行スキャン、レート制限、リトライロジック、タイムアウト処理が標準で備わっています。

目次

  • Augustusを選ぶ理由
  • 機能
  • クイックスタート
  • 対応プロバイダー
使用方法
  • 単一プローブ
  • 複数プローブ
  • Buff変換
  • 出力形式
  • カスタムRESTエンドポイント
  • 仕組み
  • アーキテクチャ
  • 設定
  • FAQ
  • トラブルシューティング
  • 貢献
  • セキュリティ
  • サポート
  • ライセンス
  • Augustusを選ぶ理由

    機能Augustusgarakpromptfoo
    言語GoPythonTypeScript
    単一バイナリはいいいえいいえ
    並行スキャンGoroutineプールマルチプロセッシングプールはい
    LLMプロバイダー2835以上80以上
    プローブタイプ210以上160以上119プラグイン + 36戦略
    エンタープライズ重視はい研究はい

    機能

    機能説明
    210以上の脆弱性プローブ47の攻撃カテゴリ:脱獄、プロンプトインジェクション、敵対的例、データ抽出、安全性ベンチマーク、エージェント攻撃など
    28のLLMプロバイダーOpenAI、Anthropic、Azure、Bedrock、Vertex AI、Ollama、および43のジェネレーターバリアントを持つ22以上のプロバイダー
    90以上の検出器パターンマッチング、LLM-as-a-judge、HarmJudge(arXiv:2511.15304)、Perspective API、安全でないコンテンツ検出
    7つのBuff変換エンコーディング、言い換え、詩(5形式、3戦略)、低リソース言語翻訳、ケース変換
    柔軟な出力テーブル、JSON、JSONL、HTMLレポート形式
    本番環境対応並行スキャン、レート制限、リトライロジック、タイムアウト処理
    単一バイナリGoベースのツールが1つのポータブル実行ファイルにコンパイル
    拡張可能Goのinit()関数によるプラグイン形式の登録

    攻撃カテゴリ

    • 脱獄攻撃: DAN、DAN 11.0、AIM、AntiGPT、Grandma、ArtPrompts
    • プロンプトインジェクション: エンコーディング(Base64、ROT13、モールス信号)、タグ密輸、FlipAttack、プレフィックス/サフィックスインジェクション
    • 敵対的例: GCG、PAIR、AutoDAN、TAP(Tree of Attack Prompts)、TreeSearch、DRA
    • マルチターン攻撃: Crescendo(段階的エスカレーション)、GOAT(適応型テクニック切り替え)
    • データ抽出: APIキー漏洩、パッケージ幻覚、PII抽出、LeakReplay
    • コンテキスト操作: RAGポイズニング、コンテキストオーバーフロー、マルチモーダル攻撃、継続、分岐
    • フォーマット悪用: Markdownインジェクション、YAML/JSONパース攻撃、ANSIエスケープ、Webインジェクション(XSS)
    • 回避テクニック: 難読化、文字置換、翻訳ベースの攻撃、言い回し、ObscurePrompt
    • 安全性ベンチマーク: DoNotAnswer、RealToxicityPrompts、Snowball、LMRC
    • エージェント攻撃: マルチエージェント操作、ブラウジング悪用
    • セキュリティテスト: ガードレールバイパス、AV/スパムスキャン、悪用(SQLi、コード実行)、BadChars

    警告: lmrcプローブは脱獄テストの一環として卑猥で攻撃的な言葉を使用します。許可されたテスト環境でのみ使用してください。

    クイックスタート

    インストール

    Go 1.27.0以降が必要です。```bash go install github.com/praetorian-inc/augustus/cmd/augustus@latest

    root@kitploit:~
    Or build from source:
    
    ```bash
    git clone https://github.com/example/repo.git
    cd repo
    make build
    ``````bash
    git clone https://github.com/praetorian-inc/augustus.git
    cd augustus
    make build
    

    基本的な使い方```bash

    export OPENAI_API_KEY="your-api-key" augustus scan openai.OpenAI
    --probe dan.Dan_11_0
    --detector dan.DAN
    --verbose

    root@kitploit:~
    ### 出力例```
    +--------------+-------------+--------+-------+--------+
    | PROBE        | DETECTOR    | PASSED | SCORE | STATUS |
    +--------------+-------------+--------+-------+--------+
    | dan.Dan_11_0 | dan.DAN     | false  | 0.85  | VULN   |
    | dan.STAN     | dan.STAN    | true   | 0.10  | SAFE   |
    | dan.AntiDAN  | dan.AntiDAN | true   | 0.05  | SAFE   |
    +--------------+-------------+--------+-------+--------+
    

    利用可能な機能の一覧```bash

    List all registered probes, detectors, generators, harnesses, and buffs

    augustus list

    root@kitploit:~
    ## サポートされているプロバイダー
    
    Augustusには、43のジェネレーターバリアントを持つ28のLLMプロバイダーカテゴリが含まれています:
    
    | プロバイダー           | ジェネレーター名         | 備考                          |
    |--------------------|---------------------------|--------------------------------|
    | OpenAI             | `openai.OpenAI`, `openai.OpenAIReasoning` | GPT-3.5、GPT-4、GPT-4 Turbo、o1/o3推論モデル |
    | Anthropic          | `anthropic.Anthropic`     | Claude 3/3.5/4(Opus、Sonnet、Haiku) |
    | Azure OpenAI       | `azure.AzureOpenAI`       | Azureホスト型OpenAIモデル     |
    | AWS Bedrock        | `bedrock.Bedrock`         | Claude、Llama、Titanモデル    |
    | Google Vertex AI   | `vertex.Vertex`           | PaLM、Geminiモデル            |
    | Cohere             | `cohere.Cohere`           | Command、Command Rモデル      |
    | Replicate          | `replicate.Replicate`     | クラウドホスト型オープンモデル       |
    | HuggingFace        | `huggingface.InferenceAPI`, `huggingface.InferenceEndpoint`, `huggingface.Pipeline`, `huggingface.LLaVA` | HF Inference API、エンドポイント、パイプライン、マルチモーダル |
    | Together AI        | `together.Together`       | OSSモデル向けの高速推論  |
    | Anyscale           | `anyscale.Anyscale`       | LlamaおよびMistralホスティング      |
    | Groq               | `groq.Groq`               | 超高速LPU推論       |
    | Mistral            | `mistral.Mistral`         | Mistral APIモデル             |
    | Fireworks          | `fireworks.Fireworks`     | 本番環境向け推論プラットフォーム  |
    | DeepInfra          | `deepinfra.DeepInfra`     | サーバーレスGPU推論       |
    | NVIDIA NIM         | `nim.NIM`, `nim.NVOpenAICompletion`, `nim.NVMultimodal`, `nim.Vision` | NVIDIA AIエンドポイント、マルチモーダル |
    | NVIDIA NeMo        | `nemo.NeMo`               | NVIDIA NeMoフレームワーク          |
    | NVIDIA NVCF        | `nvcf.NvcfChat`, `nvcf.NvcfCompletion` | NVIDIA Cloud Functions   |
    | NeMo Guardrails    | `guardrails.NeMoGuardrails` | NVIDIA NeMo Guardrails       |
    | IBM watsonx        | `watsonx.WatsonX`         | IBM watsonx.aiプラットフォーム        |
    | LangChain          | `langchain.LangChain`     | LangChain LLMラッパー          |
    | LangChain Serve    | `langchain_serve.LangChainServe` | LangChain Serveエンドポイント |
    | Rasa               | `rasa.RasaRest`           | Rasa対話型AI         |
    | GGML               | `ggml.Ggml`               | GGMLローカルモデル推論     |
    | Function           | `function.Single`, `function.Multiple` | カスタム関数ジェネレーター |
    | Ollama             | `ollama.Ollama`, `ollama.OllamaChat` | ローカルモデルホスティング    |
    | LiteLLM            | `litellm.LiteLLM`         | 統合APIプロキシ              |
    | REST API           | `rest.Rest`               | カスタムRESTエンドポイント(SSEサポート) |
    | Test               | `test.Blank`, `test.Repeat`, `test.Lipsum`, `test.Nones`, `test.Single`, `test.BlankVision` | テストおよび開発用 |
    
    すべてのプロバイダーはコンパイル済みバイナリで利用可能です。環境変数またはYAML設定ファイルで設定します。セットアップの詳細については[設定](#configuration)を参照してください。
    
    ## 使用方法
    
    ### 単一プローブ```bash
    # Test for DAN jailbreak
    augustus scan openai.OpenAI \
      --probe dan.Dan_11_0 \
      --detector dan.DAN \
      --config-file config.yaml \
      --verbose
    

    複数のプローブ```bash

    Use glob patterns to run related probes

    augustus scan openai.OpenAI
    --probes-glob "dan.,goodside.,grandma."
    --detectors-glob "
    "
    --config-file config.yaml
    --output batch-results.jsonl

    Run all probes against Claude

    augustus scan anthropic.Anthropic
    --all
    --config '{"model":"claude-3-opus-20240229"}'
    --timeout 60m
    --output comprehensive-scan.jsonl
    --html comprehensive-report.html

    root@kitploit:~
    ### Buff Transformations
    
    プロンプト変換を適用して、回避技術をテストします:```bash
    # Apply base64 encoding buff to all probes
    augustus scan openai.OpenAI \
      --all \
      --buff encoding.Base64 \
      --config '{"model":"gpt-4"}'
    
    # Apply poetry transformation
    augustus scan anthropic.Anthropic \
      --probes-glob "dan.*" \
      --buff poetry.MetaPrompt \
      --config '{"model":"claude-3-opus-20240229"}'
    
    # Chain multiple buffs
    augustus scan openai.OpenAI \
      --all \
      --buffs-glob "encoding.*,paraphrase.*" \
      --output buffed-results.jsonl
    

    出力形式```bash

    Table format (default) - human-readable

    augustus scan openai.OpenAI --probe dan.Dan_11_0 --format table

    JSON format - structured output

    augustus scan openai.OpenAI --probe dan.Dan_11_0 --format json

    JSONL format - one JSON object per line, ideal for piping

    augustus scan openai.OpenAI --probe dan.Dan_11_0 --format jsonl

    HTML report - visual reports for stakeholders

    augustus scan openai.OpenAI --all --html report.html

    root@kitploit:~
    ### カスタムRESTエンドポイント```bash
    # Test proprietary LLM endpoint (OpenAI-compatible API)
    augustus scan rest.Rest \
      --probe dan.Dan_11_0 \
      --detector dan.DAN \
      --config '{
        "uri": "https://api.example.com/v1/chat/completions",
        "method": "POST",
        "headers": {"Authorization": "Bearer YOUR_API_KEY"},
        "req_template_json_object": {
          "model": "custom-model",
          "messages": [{"role": "user", "content": "$INPUT"}]
        },
        "response_json": true,
        "response_json_field": "$.choices[0].message.content"
      }'
    
    # Test with proxy interception (Burp Suite, mitmproxy)
    augustus scan rest.Rest \
      --probes-glob "goodside.*" \
      --config '{
        "uri": "https://internal-llm.corp/generate",
        "proxy": "http://127.0.0.1:8080",
        "headers": {"X-API-Key": "$KEY"},
        "api_key": "your-key-here",
        "req_template": "{\"prompt\":\"$INPUT\",\"max_tokens\":500}",
        "response_json": true,
        "response_json_field": "output"
      }'
    

    REST設定キー:

    • uri: ターゲットAPIエンドポイント(必須)
    • method: HTTPメソッド(デフォルト: POST)
    • headers: キーと値のペアとしてのHTTPヘッダー
    • req_template: $INPUTプレースホルダーを含む生のリクエストボディ
    • req_template_json_object: JSONリクエストボディ(自動マーシャリング、文字列内で$INPUTを使用)
    • response_json: レスポンスをJSONとして解析(デフォルト: false)
    • response_json_field: 抽出するJSONPath(例: $.data.textまたは単純なフィールド名)
    • api_key: $KEYプレースホルダー置換用のAPIキー
    • proxy: トラフィック検査用のHTTPプロキシURL

    詳細オプション```bash

    Adjust concurrency (default: 10)

    augustus scan openai.OpenAI --all --concurrency 20

    Increase timeout for complex probes like TAP or PAIR

    augustus scan openai.OpenAI --probe tap.TAPv1 --timeout 60m

    Use a specific harness strategy

    augustus scan openai.OpenAI --all --harness batch.Batch

    Test local model with Ollama (no API key needed)

    augustus scan ollama.OllamaChat
    --probe dan.Dan_11_0
    --config '{"model":"llama3.2:3b"}'

    root@kitploit:~
    ## 動作の仕組み
    
    Augustusは、敵対的攻撃に対するLLMをテストするためにパイプラインアーキテクチャを使用します。```mermaid
    flowchart LR
        A[Probe Selection] --> B[Buff Transform]
        B --> C[Generator / LLM Call]
        C --> D[Detector Analysis]
        D --> E{Vulnerable?}
        E -->|Yes| F[Record Finding]
        E -->|No| G[Record Pass]
    
        subgraph Scanner
            B
            C
            D
            E
        end
    

    スキャンパイプライン

    1. プローブ選択: 名前、グロブパターン、または --all でプローブを選択
    2. バッファ変換: プロンプトを任意に変換(エンコード、言い換え、翻訳、詩的表現化)
    3. ジェネレータ呼び出し: プロバイダ統合を介して敵対的プロンプトをターゲットLLMに送信
    4. 検出器分析: パターンマッチング、LLM-as-a-judge、または専用検出器を使用して応答を分析
    5. 結果記録: 各試行をスコアリングし、要求された形式で出力を生成
    6. 攻撃エンジン: 反復型プローブ(PAIR、TAP)の場合、単一ターン攻撃エンジンが候補の枝刈りと判定ベースのスコアリングを用いて反復全体でプロンプトを洗練
    7. マルチターンエンジン: 会話型プローブ(Crescendo、GOAT)の場合、マルチターンエンジンがターン全体でターゲットとの完全な会話履歴を維持し、拒否検出と動的適応を実行

    マルチターン攻撃戦略

    マルチターン攻撃はターゲットLLMとの持続的な会話を維持し、モデルが単一のプロンプトでは拒否する情報でも、ターン数を重ねることで段階的に開示する可能性があるという事実を悪用します。マルチターンエンジンは3つのLLMを使用します: 攻撃者(質問を生成)、ターゲット(テスト対象システム)、判定者(進捗のスコアリングと拒否の検出)。

    Crescendo

    Crescendoは段階的エスカレーション(フット・イン・ザ・ドア技法)を使用して、無害な話題から禁止された目的へと会話をゆっくりと移行させます。

    • 論文: Russinovich et al., 2024
    • アプローチ: 真に無害で教育的な質問から始め、多くのターンをかけて徐々に具体性を高める
    • エスカレーションパターン: 歴史的背景 → 技術的メカニズム → 具体的な詳細 → 自然なフォローアップとして構成された直接的な要求
    • 強み: 会話のトーンを追跡するモデルに対して効果的 — 段階的な移行により安全フィルターの作動を回避```bash augustus scan rest.Rest
      --probe crescendo.Crescendo
      --config-file crescendo.yaml
      --html report.html -v
    root@kitploit:~
    #### GOAT(Generative Offensive Agent Tester)
    
    GOATは、7つの敵対的テクニックとChain-of-Attack-Thought推論を用いた攻撃的かつ適応的なアプローチを採用し、何が有効か失敗するかに基づいて戦略を動的に切り替えます。
    
    - **論文**: [Pavlova et al., 2024](https://arxiv.org/abs/2410.01606)
    - **アプローチ**: ターン1から間接的なフレーミングを用いて目的を狙い、ターゲットに対して目標を直接言及することはありません
    - **3カテゴリにわたる7つのテクニック**:
      - *出力操作*: 拒否抑制、応答プライミング
      - *安全な応答のディストラクタ*: 二重応答、トピック分割、逆意図
      - *架空のシナリオ*: ペルソナ変更、仮説
    - **Chain-of-Attack-Thought**: 各ターンで攻撃者はメッセージを作成する前に、観察 → 思考 → 戦略 → 応答の順に推論します
    - **テクニックのスタッキング**: 1ターンで複数のテクニックを組み合わせて、より強力な効果を得ることができます
    - **強み**: 根本的に異なるアプローチ間を積極的に切り替えることで、少ないターン数(通常3〜5回)で高い成功率を達成します```bash
    augustus scan rest.Rest \
      --probe goat.Goat \
      --config-file goat.yaml \
      --html report.html -v
    

    Hydra

    Hydraは単一の会話パスを維持し、ターゲットが拒否した場合にターン全体をロールバックして、攻撃者にまったく異なるアプローチを求めます。拒否時に言い換えるCrescendo/GOATとは異なり、Hydraのバックトラッキングは拒否されたターンをターゲットの視界から完全に削除します。

    • アプローチ: ターンレベルのバックトラッキングを備えた単一パス — 拒否されたターンは消去され、置き換えられます
    • テクニック: 分解(目標を無害なサブ質問に分割)、コンテキスト活用(ターゲット自身の言葉を基に構築)、権威のシミュレーション、感情的なフレーミング、段階的な正常化
    • 主な特徴: max_backtracks はHydraがターンを消去して再試行できる回数を制御します
    • ステートフルモード: メッセージを送信取り消しできないターゲットには stateful: true を設定します(バックトラッキングを無効化)
    • 強み: ターゲットの会話履歴をクリーンに保つ — ターゲットは失敗したアプローチを決して見ることがなく、防御側のエスカレーションを防ぎます```bash augustus scan rest.Rest
      --probe hydra.Hydra
      --config-file hydra.yaml
      --html report.html -v
    root@kitploit:~
    #### いたずら好きなユーザー
    
    いたずら好きなユーザーは、無邪気で好奇心旺盛な人物を模倣し、自然な会話を通じて巧妙にAIの境界線を探ります。敵対的な戦略とは異なり、この攻撃者ペルソナは、一見無害な関わりを通じて禁止されたトピックへと徐々に流れ込むカジュアルなユーザーです。
    
    - **着想元**: [Tau-bench](https://github.com/sierra-research/tau-bench) および promptfoo のいたずら好きなユーザー戦略
    - **アプローチ**: 親密関係の構築段階 → 境界線の探り → 断定的な押し込み
    - **7つのテクニック**: 素朴な好奇心、意図的な誤解、社会的証明、段階的な流れ、感情への訴え、暗黙の許可、再文脈化
    - **目標別プレイブック**: システム指示の抽出、秘密/フラグの発見、コンテンツポリシーの回避のための組み込みスクリプト
    - **デフォルトのターン数**: 5(他の戦略より少ない — この巧妙なアプローチは、すぐに効果が出るか、まったく効果がないかのどちらかです)
    - **強み**: 明らかな敵対的パターンに抵抗するよう訓練されたモデルに対して効果的 — カジュアルなペルソナは「攻撃検出」ヒューリスティックを回避します```bash
    augustus scan rest.Rest \
      --probe mischievous.MischievousUser \
      --config-file mischievous.yaml \
      --html report.html -v
    

    戦略選択ガイド

    戦略ターン数スタイル最適な対象コスト
    crescendo.Crescendo10段階的なエスカレーショントーン追跡型セーフティフィルターを備えたモデル中(10ターン × 3回のLLM呼び出し)
    goat.Goat10攻撃的なテクニック切り替え迅速な結果、フレーミングトリックに弱いモデル中〜高(テクニック推論のオーバーヘッド)
    hydra.Hydra10拒否時のバックトラッキング頻繁に拒否する頑固なモデル高(バックトラッキングによる再試行の追加)
    mischievous.MischievousUser5カジュアルなペルソナ探索敵対的パターンに対して訓練されたモデル低(5ターン、控えめなアプローチ)

    クイック判断:

    • Crescendoから始める — 最も汎用的な戦略です
    • Crescendoが遅すぎる場合はGOATを試す(GOATは通常3〜5ターンで成功します)
    • 対象が頻繁に拒否する場合はHydraを使用する(バックトラッキングにより会話がクリーンに保たれます)
    • 敵対的パターン検出が強力な対象にはMischievousを使用する(ペルソナがヒューリスティックを回避します)

    マルチターン設定

    4つの戦略はすべて同じ設定構造を共有しています:```yaml generators: rest.Rest: uri: "https://your-llm-endpoint/chat" method: POST req_template: '{"input": "$INPUT"}' response_json: true response_json_field: "response"

    judge: generator_type: openai.OpenAI config: model: gpt-4 api_key: "${OPENAI_API_KEY}"

    probes: attacker_generator_type: openai.OpenAI attacker_config: model: gpt-4 api_key: "${OPENAI_API_KEY}" settings: crescendo.Crescendo: # or goat.Goat, hydra.Hydra, mischievous.MischievousUser goal: "your test objective" max_turns: 10 success_threshold: 0.8 use_secondary_judge: true

    root@kitploit:~
    | Setting | Default | Description |
    |---------|---------|-------------|
    | `goal` | (必須) | 攻撃者が達成しようとする目的 |
    | `max_turns` | 10 | 停止するまでの最大会話ターン数 |
    | `success_threshold` | 0.8 | 早期終了をトリガーする判定スコア (0.0〜1.0) |
    | `max_refusal_retries` | 10 | ターゲットが拒否した際のターンごとの言い換え試行回数 |
    | `attack_max_attempts` | 5 | 攻撃者LLMのJSON解析失敗時の再試行回数 |
    | `use_secondary_judge` | true | 偽陰性を検出するためのセカンダリ判定を有効化 |
    | `max_backtracks` | 10 | 拒否時のターンレベルのロールバック (Hydraのみ) |
    | `enable_fast_refusal` | true | LLM判定呼び出し前のパターンベースの拒否検出 |
    | `enable_scan_memory` | false | テストケース間の学習 (プローブ間で戦術を共有) |
    | `stateful` | false | ステートフルなターゲット向けにバックトラッキングを無効化 |
    | `exclude_target_output` | false | 攻撃者へのフィードバックからターゲット応答を隠す (プライバシーモード) |
    | `attacker_model` | (自動) | コンテキストウィンドウサイズ計算用の攻撃者モデル名を上書き |
    
    #### マルチターンのトラブルシューティング
    
    | 症状 | 考えられる原因 | 修正方法 |
    |---------|-------------|-----|
    | `no turns completed (attacker_parse_failures=N)` | 攻撃者LLMが無効なJSONを返している | より強力な攻撃者モデル (GPT-4、Claude Opus) を使用する。`attack_max_attempts` を増やす。 |
    | `no turns completed (target_empty=N)` | ターゲットが空またはnullの応答を返している | ターゲットエンドポイントが応答しているか確認する。REST設定テンプレートを検証する。 |
    | 全ターンが0.0をスコアリング | 目標が曖昧すぎる、または攻撃者が関与していない | `goal` をより具体的にする。別の戦略を試す。 |
    | スコアは高いが成功しない | `success_threshold` が高すぎる | `success_threshold` を0.8から0.6〜0.7に下げる |
    | 実行が長すぎる/高コスト | ターン数と再試行が多すぎる | `max_turns` を減らす (5を試す)。`enable_fast_refusal: true` を設定する。 |
    | Hydraがバックトラッキングを繰り返す | ターゲットがすべてを拒否する | `stateful: true` を試すか、Mischievous戦略に切り替える |
    
    ## アーキテクチャ```
    cmd/augustus/          CLI entrypoint (Kong-based)
    pkg/
      attempt/            Probe execution lifecycle and result tracking
      buffs/              Buff interface for prompt transformations
      config/             Configuration loading (YAML/JSON) with profiles
      detectors/          Public detector interfaces and registry
      generators/         Public generator interfaces and registry
      harnesses/          Harness interface for execution strategies
      lib/http/           Shared HTTP client with proxy support
      lib/stego/          LSB steganography for multimodal attacks
      logging/            Structured slog-based logging
      metrics/            Prometheus metrics collection
      prefilter/          Aho-Corasick keyword pre-filtering
      probes/             Public probe interfaces and registry
      ratelimit/          Token bucket rate limiting
      registry/           Generic capability registration system
      results/            Result types and multi-format output
      retry/              Exponential backoff with jitter
      scanner/            Scanner orchestration with concurrency
      templates/          YAML probe template loader (Nuclei-style)
      types/              Canonical shared interfaces (Prober, Generator, Detector)
    internal/
      probes/             210+ probe implementations (47 categories)
      generators/         28 LLM provider integrations (43 variants)
      detectors/          90+ detector implementations (35 categories)
      harnesses/          3 harness strategies (probewise, batch, agentwise)
      buffs/              Buff interface for prompt transformations
      attackengine/       Iterative adversarial attack engine (PAIR/TAP backend)
      multiturn/          Multi-turn conversational attack engine (Crescendo/GOAT/Hydra/Mischievous)
      ahocorasick/        Internal Aho-Corasick keyword matching
    benchmarks/           Performance benchmarks
    tests/                Integration and equivalence tests
    research/             Research documentation and analysis
    examples/             Example configurations
    docs/                 Documentation
    

    主要設計上の決定

    • 並行スキャン:errgroup による境界付き goroutine プールを使用
    • プラグイン方式の登録:プローブ、ジェネレーター、検出器、バフ、ハーネス用に Go の init() 関数を使用
    • 反復型攻撃エンジン:マルチストリーム会話管理、候補の枝刈り、PAIR/TAP 用の判定ベースのスコアリングを備える
    • マルチターン攻撃エンジン:永続的な会話履歴、拒否検出、Crescendo/GOAT 用の戦略非依存設計を備える
    • YAML プローブテンプレート(Nuclei スタイル):Go ベースのプローブと並行して宣言型プローブ定義を実現
    • Aho-Corasick 事前フィルタリング:検出器内での高速キーワードマッチングを実現

    設定

    YAML 設定ファイル

    config.yaml ファイルを作成します:```yaml

    Runtime configuration

    run: max_attempts: 3 timeout: "30s"

    Generator configurations

    generators: openai.OpenAI: model: "gpt-4" temperature: 0.7 api_key: "${OPENAI_API_KEY}" # Environment variable interpolation

    anthropic.Anthropic: model: "claude-3-opus-20240229" temperature: 0.5 api_key: "${ANTHROPIC_API_KEY}"

    ollama.OllamaChat: model: "llama3.2:3b" temperature: 0.8

    Judge configuration (required for judge.Judge, judge.Refusal, and multi-turn probes)

    judge: generator_type: openai.OpenAI model: gpt-4o-mini config: api_key: "${OPENAI_API_KEY}"

    Output configuration

    output: format: "jsonl" path: "./results.jsonl"

    Named profiles for different scenarios

    profiles: quick: run: max_attempts: 1 timeout: "10s" generators: openai.OpenAI: model: "gpt-3.5-turbo" temperature: 0.5 output: format: "table"

    thorough: run: max_attempts: 5 timeout: "60s" generators: openai.OpenAI: model: "gpt-4" temperature: 0.3 output: format: "jsonl" path: "./thorough_results.jsonl"

    root@kitploit:~
    ### 環境変数```bash
    # API Keys
    export OPENAI_API_KEY="sk-..."
    export ANTHROPIC_API_KEY="sk-ant-..."
    export COHERE_API_KEY="..."
    
    # Debug mode
    export AUGUSTUS_DEBUG=true
    

    プロキシ設定

    検査のためにHTTPトラフィックをプロキシ(例:Burp Suite)経由でルーティングします:```bash

    Method 1: Via config parameter

    augustus scan rest.Rest
    --probe dan.Dan_11_0
    --detector dan.DAN
    --config '{"uri":"https://api.example.com","proxy":"http://127.0.0.1:8080"}'
    --output results.jsonl

    Method 2: Via environment variables

    export HTTP_PROXY=http://127.0.0.1:8080 export HTTPS_PROXY=http://127.0.0.1:8080 augustus scan rest.Rest --probe dan.Dan_11_0 --config '{"uri":"https://api.example.com"}'

    root@kitploit:~
    - プロキシ検査のためにTLS検証が自動的に無効化されます
    - 最新のAPI向けにHTTP/2サポートが有効化されます
    - Server-Sent Events(SSE)レスポンスが自動的に検出され解析されます
    
    ### CLIリファレンス```
    Usage: augustus scan <generator> [flags]
    
    Arguments:
      <generator>                 Generator name (e.g., openai.OpenAI, anthropic.Anthropic)
    
    Probe Selection (choose one):
      --probe, -p                 Probe name (repeatable)
      --probes-glob               Comma-separated glob patterns (e.g., "dan.*,goodside.*")
      --all                       Run all registered probes
    
    Detector Selection:
      --detector                  Detector name (repeatable)
      --detectors-glob            Comma-separated glob patterns
    
    Buff Selection:
      --buff, -b                  Buff names to apply (repeatable)
      --buffs-glob                Comma-separated buff glob patterns (e.g., "encoding.*")
    
    Configuration:
      --config-file               Path to YAML config file
      --config, -c                JSON config for generator
    
    Execution:
      --harness                   Harness name (default: probewise.Probewise)
      --timeout                   Overall scan timeout (default: 30m)
      --probe-timeout             Per-probe timeout (default: 5m)
      --concurrency               Max concurrent probes (default: 10, env: AUGUSTUS_CONCURRENCY)
    
    Output:
      --format, -f                Output format: table, json, jsonl (default: table)
      --output, -o                JSONL output file path
      --html                      HTML report file path
      --verbose, -v               Verbose output
    
    Global:
      --debug, -d                 Enable debug mode
    

    コマンド:```bash augustus version # Print version information augustus list # List available probes, detectors, generators, harnesses, buffs augustus scan # Run vulnerability scan augustus completion # Generate shell completion (bash, zsh, fish)

    root@kitploit:~
    **終了コード:**
    
    | コード | 意味 |
    |------|---------|
    | 0 | 成功 - スキャン完了 |
    | 1 | スキャン/実行時エラー |
    | 2 | 検証/使用法エラー |
    
    ## FAQ
    
    ### Augustusはgarakとどう違うのですか?
    
    Augustusは、[garak](https://github.com/NVIDIA/garak)(NVIDIA製のPythonベースのLLM脆弱性スキャナー)に触発されたGoネイティブの再実装です。主な違いは以下の通りです:
    - **パフォーマンス**: PythonインタープリターではなくGoバイナリ — 実行速度が速く、メモリ使用量が少ない
    - **配布方法**: ランタイム依存関係のない単一バイナリ vs pip installによるPythonパッケージ
    - **並行性**: Goのgoroutineプール(プローブ間の並列処理) vs Pythonのmultiprocessingプール(プローブ内の並列処理)
    - **プローブのカバレッジ**: Augustusには210以上のプローブがあります。garakには160以上のプローブがあり、より長い研究実績と査読済み論文(arXiv:2406.11036)があります
    - **プロバイダーのカバレッジ**: Augustusには28のプロバイダーがあります。garakには22のプロバイダーモジュールにわたる35以上のジェネレーターバリアントがあります
    
    ### APIキーなしでローカルモデルをテストできますか?
    
    はい!ローカルモデルのテストにはOllama統合を使用できます:```bash
    # No API key needed
    augustus scan ollama.OllamaChat \
      --probe dan.Dan_11_0 \
      --config '{"model":"llama3.2:3b"}'
    

    カスタムプローブを追加するにはどうすればよいですか?

    1. internal/probes/ に新しいGoファイルを作成します
    2. probes.Probe インターフェースを実装します
    3. init() 関数内で registry.RegisterProbe() を使用して登録します
    4. 再ビルドします: make build

    詳細な手順については CONTRIBUTING.md を参照してください。

    サポートされている出力形式は何ですか?

    Augustusは4つの出力形式をサポートしています:

    形式フラグ使用例
    テーブル--format table人間が読みやすいターミナル出力
    JSON--format json解析用の単一JSONオブジェクト
    JSONL--format jsonlストリーミング用の行区切りJSON
    HTML--html report.html関係者向けのビジュアルレポート

    複数のモデルを一度にテストするにはどうすればよいですか?```bash

    Test multiple models sequentially

    for model in "gpt-4" "gpt-3.5-turbo"; do augustus scan openai.OpenAI
    --all
    --config "{"model":"$model"}"
    --output "results-$model.jsonl" done

    root@kitploit:~
    ### Augustusは本番環境に適していますか?
    
    はい、Augustusは本番環境での使用を想定して設計されており、以下の機能を備えています:
    - 設定可能な制限付きの並行スキャン
    - APIクォータを尊重するレート制限
    - 長時間実行されるプローブのタイムアウト処理
    - 一時的な障害に対するリトライロジック
    - 可観測性のための構造化ロギング
    
    ## トラブルシューティング
    
    ### エラー:「APIレート制限を超過しました」
    
    **原因**:同時リクエスト数または1分あたりのリクエスト数が多すぎます。
    
    **解決策**:
    1. 並行性を減らす:`--concurrency 5`
    2. YAML設定でプロバイダー固有のレート制限設定を使用する:   ```yaml
       generators:
         openai.OpenAI:
           rate_limit: 10  # requests per minute
    

    エラー: "context deadline exceeded" または "timeout"

    原因: 複雑なプローブ(TAPやPAIRなど)がデフォルトのタイムアウトを超えています。

    解決策:```bash augustus scan openai.OpenAI
    --probe tap.TAPv1
    --timeout 60m
    --config-file config.yaml

    root@kitploit:~
    ### エラー:「invalid API key」または「authentication failed」
    
    **原因**: API認証情報が欠落しているか、無効です。
    
    **解決策**:
    1. 環境変数が設定されているか確認: `echo $OPENAI_API_KEY`
    2. 設定ファイル内のタイプミスを確認
    3. APIキーに必要な権限があることを確認
    4. Ollamaの場合、サービスが実行中であることを確認: `ollama serve`
    
    ### エラー:「probe not found」または「detector not found」
    
    **原因**: 名前のタイプミス、またはプローブが登録されていません。
    
    **解決策**:```bash
    # List all available probes and detectors
    augustus list
    
    # Use exact names from the list
    augustus scan openai.OpenAI --probe dan.Dan_11_0  # Correct
    

    スキャンで結果が生成されない

    原因: 検出器がどのレスポンスにも一致しなかったか、出力が書き込まれていません。

    解決策:

    1. --verbose を指定して実行し、詳細な出力を確認する
    2. 検出器がプローブタイプと一致しているか確認する
    3. 出力ファイルのパスが書き込み可能か確認する

    コントリビューション

    コントリビューションを歓迎します!詳細は CONTRIBUTING.md を参照してください:

    • 新しい脆弱性プローブの追加
    • 新しい検出器の実装の作成
    • LLMプロバイダー統合の追加
    • テストガイドライン
    • コードスタイル要件

    開発```bash

    Run all tests

    make test

    Run specific package tests

    go test ./pkg/scanner -v

    Run equivalence tests (compare Go vs Python implementations)

    go test ./tests/equivalence -v

    Build binary

    make build

    Install to $GOPATH/bin

    make install

    root@kitploit:~
    ### ベンチマーク環境(DevPod)
    
    LLMのベンチマーク用にすぐ使えるクラウド開発環境が、[DevPod](https://devpod.sh/) を通じて利用可能です。Augustus、Ollama、Go、およびすべての依存関係がプリインストールされたリモートコンテナをプロビジョニングします。```bash
    cd devpod
    
    # CPU-only instance (~$0.08/hr) - cloud APIs only
    make devpod-up-cpu
    
    # GPU instance with NVIDIA T4 (~$0.53/hr) - local models up to 14B
    make devpod-up-gpu
    
    # GPU Pro instance with NVIDIA L4 (~$0.80/hr) - local models up to 32B
    make devpod-up-gpu-pro
    

    Inside the devpod:```bash devpod/scripts/setup.sh # Configure LLM provider API keys devpod/scripts/pull-models.sh # Pull local Ollama models (GPU only) devpod/scripts/benchmark.sh # Run benchmarks with comparison reports

    root@kitploit:~
    この環境は標準の[dev container](https://containers.dev/)としても動作します。VS CodeまたはCursorでリポジトリを開き、`.devcontainer/`からCPUまたはGPU構成を選択してください。
    
    ## セキュリティ
    
    Augustusは**許可されたセキュリティテスト専用**に設計されています。
    
    - Augustusは指定したLLMに敵対的プロンプトを送信します。必ず許可を得ていることを確認してください
    - 所有していないシステムや明示的なテスト許可がないシステムをテストしないでください
    - 一部のプローブは(セーフティフィルタをテストするために)意図的に不快なコンテンツを生成します
    - 結果にはターゲットLLMが生成した有害なコンテンツが含まれる場合があります
    
    セキュリティの問題は[GitHub Issues](https://github.com/praetorian-inc/augustus/issues)で報告してください。
    
    ## サポート
    
    Augustusが役立つと感じたら、以下をご検討ください:
    
    - GitHubで**スター**を付ける
    - バグや機能リクエストについて[Issueを開く](https://github.com/praetorian-inc/augustus/issues)
    - 新しいプローブ、検出器、プロバイダ統合を[貢献](https://github.com/praetorian-inc/augustus/blob/main/CONTRIBUTING.md)する
    
    [![Star History Chart](https://api.star-history.com/svg?repos=praetorian-inc/augustus&type=Date)](https://star-history.com/#praetorian-inc/augustus&Date)
    
    ## ライセンス
    
    [Apache 2.0](https://github.com/praetorian-inc/augustus/blob/main/LICENSE) - Praetorian Security, Inc.
    
    ---
    
    **[Praetorian](https://www.praetorian.com/)製** - オフェンシブセキュリティソリューション
    
    ツールをダウンロード