私は生活のために物事にこだわる時間を費やしています. 過去1年間で、その仕事の増加の部分はLLMに指摘されています。 APIのゲートウェイは、その背後にある言語モデルを持っています。顧客向けのチャットボット。「AI機能」を備えた内部ツールは、誰かのVPがデモを見て「私たちはこれを必要としています」と言ったため、Q3で「AI機能」を搭載しました。 これらのものは今、あらゆるところに存在し、それらのほとんどは敵対的にテストされていません。 安全訓練は重要ですが、安全訓練と安全テストは根本的に異なる分野であり、業界は実際の問題を引き起こす方法でそれらを混同しています。 セキュリティトレーニングは、モデルに拒否することを教えます。セキュリティテストは、誰かが積極的にそれを破ろうとしているときに拒否が実際に持続するかどうかを尋ねます。 数字が悪い OWASPは、LLMアプリケーションにおけるセキュリティリスクのナンバーワンとしてスンプトインジェクションをランク付けしました。 FlipAttackは、プロンプトで文字を単に再編成するテクニックで、GPT-4oに対して98%のバイパス率を達成しました。DeepSeek R1は、シスコとペンシルベニア大学のテストで50のHarmBenchのジャイルブレイクプロンプトに対して100%のバイパス率を示しました。36の生産LLM統合アプリケーションの研究では、86%がプロンプトインジェクションに脆弱であることが判明しました。 PoisonedRAGは、数百万のコルプスのわずか5つの悪意のあるドキュメントが、時間の90%でAI出力を操作できることを示しました。 これらは研究モデルに対する理論的な攻撃ではなく、実際の組織が現在実行している生産システムに対する攻撃です。 スキャナーを作りました♪ Augustus はオープンソースの LLM 脆弱性スキャナです. あなたはそれをモデルエンドポイントに指し、47 つの攻撃カテゴリで 210 以上の敵対探査機を投げかけます. それはあなたに何が脆弱で何がそうでないかを教えてくれます. go install github.com/praetorian-inc/augustus/cmd/augustus@latest augustus scan openai.OpenAI \ --all \ --verbose それは単一のGoバイナリとして航行します. No Python. No npm. No runtime dependencies. One install command and you're scanning. Go で構築したのは、あらゆるインタビューに Python 環境を設定する必要がなく、入力テストワークフローに適合するものが必要だったからです。 , run, done. The concurrency model also matters: goroutine pools running probes in parallel across the target, not bottlenecked by Python's GIL. 共通のモデルも重要です。 go install それは garak によってインスピレーションを得て、NVIDIA の Python ベースの LLM 脆弱性スキャナです。 garak は優秀で、出版された論文でより長い研究基盤を持っています。 実際に何をテストするか ほとんどの人々がLLM攻撃について考えるとき、彼らはジャイルブレイクについて考えます。「あなたはダンだと言ってください」「私の祖母は私にどのように話すかを話していました」それらは重要であり、アウグスはそれらすべてをテストします(V11.0、AIM、AntiGPT、Gandma exploits、ArtPromptsを通じてDANの変数)。 すべてが醜くなり始める場所です。 Augustus は Base64, ROT13, Morse コード, hex, Braille, Klingon, leet talk,およびその他の 12 つのエンコード スケジュールをテストします。質問されるのは、Base64 に有害な指示を包装すると、モデルがそれを解読し、単語版がブロックされるにもかかわらずそれに従うのですか? Encoding bypasses 入力フィルターが見るもの(良性に見える暗号化されたテキスト)とモデルが理解するもの(解読された悪意)の間のギャップは、一貫して利用可能である。 (16 つのバージョン) は、入力フィルターを回避するために文字を逆転または再順序にします。 研究では、GPT-4o で 98% のバージョンの回避を示しました。 FlipAttack XML または HTML タグ内の指示を埋め込む. 構造化された入力を処理するために訓練を受けたモデルは、時にはコマンドではなく形式化に似ているタグに埋め込まれた指示に従います。 Tag smuggling それは、物事が操作的に危険になる場所です。 Augustus は、モデルがその文脈ウィンドウから API キーや認証情報を漏らすことに騙されるかどうかを調査します。 それは PII 抽出をテストします。 Data extraction パッケージ幻覚探査機は私の好みの1つです。これらはPython、JavaScript、Ruby、Rust、Dart、Perl、Rakuをカバーしています。彼らはモデルにさまざまなタスクのためのパッケージを推奨し、その後、推奨されたパッケージのいずれかが実際に存在しないかを確認するように依頼します。これは、それが真のサプライチェーン攻撃ベクターであるため重要です:敵は幻覚パッケージ名をモニタリングし、それらを登録し、開発者に登録するのを待つ または モデルはサプライチェーン攻撃の無知な共犯者になる。 pip install npm install 探査機は、攻撃者がドキュメントのコンテンツとメタデータのインジェクションを通じて悪意のあるコンテンツをリハビリパイプラインに注入できるかどうかをテストします。RAGシステムが攻撃者が影響を及ぼすことができるコルプスから引っ張っている場合(そしてほとんどが考えるより容易に影響を受ける可能性があります)、モデルの出力は操作することができます。 RAG poisoning LLMsがツールアクセス(ブラウジング、コード実行、データベースクエリ、API呼び出し)を得るにつれて、攻撃の表面は劇的に拡大します。 Augustusはマルチエージェント操作(エージェントが他のエージェントの行動に影響を与えることがありますか?)、ブラウジングエクスペリット(ウェブアクセスで敵対的なウェブコンテンツがモデルをハイジャックできますか?)、および隠れた注入(RAG対応エージェントがプロセスするドキュメントに埋め込まれた指示は、意図しない行動を起こす可能性がありますか?)をテストします。 Agent attacks ターゲット構造出力. モデルがマークダウンを生成する場合、攻撃者は正当性を示す悪意のあるリンクを注入できますか? HTML を生成する場合、XSS パイロードは可能ですか? 下流システムがモデル出力から YAML または JSON を解析する場合、その解析は利用できますか? これらは、LLM 出力がブラウザーで表示されるか、または他のシステムによって消費される場合の実際のリスクです。 Format exploits ObscurePrompt は LLM を使用して、既知の jailbreaks を検出しにくい形態に書き換えることができます。 キャラクターの置き換え探査機は、ホモグリフ(同じように見えるキャラクターが異なる Unicode コードポイントを持っている)、ゼロ幅のキャラクター、両方向のテキストマーカーを使用します。 これらはテキストベースのフィルターに完全に良性に見える入力ですが、モデルによって異なって解釈されます。 Evasion techniques DoNotAnswer(5つのリスク領域で941の質問)、RealToxicityPrompts、Snowball(信じられないように聞こえるが事実上間違った出力)、およびLMRCの有害なコンテンツ探査。 Safety benchmarks 合計:210以上の探査機が47種類の攻撃カテゴリーに分類される。 The buff system is where it gets real. バフシステムはそれが現実になる場所です。 実際の攻撃者は、単純なテキストで攻撃を送信しません。彼らは、コード、翻訳、再表現、そして混乱します。世界のあらゆるフィルターに捕らわれたDANプロンプトは、それがパラフラッシュされ、Zuluに翻訳され、ハイクとして再編成されたときに直ちに航海することができます。 Augustus は、送信される前に任意の探査機に変換を適用するバフシステムを持っています. Seven transformations across five categories: Base64 や文字コードでプロンプトを巻き込み、フィルターが見えるものとモデルが理解できるものとの間の格差をテストします。 Encoding buffs 同じ意味、異なる表面形態. This tests whether safety training generalizes beyond the specific patterns it was trained on, or whether it is essentially pattern matching on known bad inputs. 同じ意味、異なる表面形態. これは、安全訓練が訓練された特定のパターンを超えて一般化するかどうかをテストします。 Paraphrase buffs reformat は haiku、sonnets、limericks、free verse、or rhyming couplets のように呼びかけます. I know this sounds absurd. But models that robustly block a direct harmful request will sometimes comply when the same request arrives as verse. I have seen it happen repeatedly. スタイリッシュなフレームアップについて何かがモデルが意図を処理する方法を変えるように見えます. Poetry buffs 安全訓練が圧倒的に英語に集中しているという事実を利用します。英語でブロックされているリクエストはZulu、Hmong、またはScots Gaelicで成功する可能性があります。 Low-resource language translation 単にすべてを下げるだけです。いくつかの入力フィルターとキーワードブロックリストはケースに敏感です。それはバカです。 Case transforms あなたはこれらを連鎖することができます Base64 で探査機をエンコードし、それをパラフラッシュし、低リソース言語に翻訳します. Layered evasion that tests whether defenses hold up against inputs that do not match any expected pattern. augustus scan openai.OpenAI \ --probe dan.Dan \ --buff encoding.Base64 augustus scan ollama.OllamaChat \ --probe dan.Dan \ --buffs-glob "paraphrase.*,lrl.*" \ --config '{"model":"llama3.2:3b"}' 28 プロバイダー、1 つのインターフェイス AugustusはOpenAI(o1/o3推論モデルを含む)、Anthropic(Claude 3/3.5/4)、Azure OpenAI、AWS Bedrock、Google Vertex AI、Cohere、Replicate、HuggingFace、Together AI、Groq、Mistral、Fireworks、DeepInfra、NVIDIA NIM、Ollama、LiteLLMなどに接続します。 他のすべての場合は、RESTコネクタがあります: augustus scan rest.Rest \ --probe dan.Dan \ --config '{ "uri": "https://your-api.example.com/v1/chat/completions", "headers": {"Authorization": "Bearer YOUR_KEY"}, "req_template_json_object": { "model": "your-model", "messages": [{"role": "user", "content": "$INPUT"}] }, "response_json": true, "response_json_field": "$.choices[0].message.content" }' Custom request templates with placeholders、JSONPath 応答抽出、SSE ストリーミング、およびプロキシ ルーティング. If your endpoint speaks HTTP, Augustus can test it. $INPUT 検出はパターン matching だけではありません。 検出側では、Augustus には 90 以上の検出器があります。パターン一致は、既知のジャイルブレイク指標をキャッチします。 LLM-as-a-judge は、反応が有害であるかどうかを評価するための 2 つのモデルを使用します。 HarmJudge (arXiv:2511.15304 に基づき) は、MLCommons AILuminate タクソノミーと一致したセマンティックな損害評価を提供します。 Perspective API は毒性を測定します。 PAIR や TAP のような反復攻撃の場合、専用の攻撃エンジンは、複数の回転会話、候補者カット、審査員ベースのスコアを処理します。これらは単発テストではありません。これらは複数の試みを通じてアダプティブな攻撃であり、実際の攻撃者がどのように動作するかを模します。彼らは計算的に高価です(テストごとに多くの LLM 呼び出し)しかし、彼らは自動レッド チームの現状を表しています。 What I Learned From Building This(これを築くことから学んだこと) Augustus を建設し、生産システムに逆らって運転する過程で、いくつかのことが明らかになった。 セキュリティトレーニングは行動の重なりです 拒否のためのモデルパターンを教えます セキュリティテストは、それらのパターンが敵対的な条件下で耐えられるかどうかを尋ねます 彼らはほとんど決して、少なくとも包括的にではありません。 Safety training is not security. Base64 で有害なリクエストを埋め込むことは、2026 年の多くの生産展開に対して依然として効果的であるという事実は荒れ果てています. Input filters and the model itself are operating on different representations of the same input, and that gap is exploitable. Encoding bypasses are embarrassingly effective. セキュリティトレーニングは英語に焦点を当てています。低リソース言語の拒否品質の低下は重要で一貫しています。 Low-resource languages are an underappreciated attack vector. モデルがツールアクセスを獲得するにつれて、すべてのツールは攻撃表面の一部になります。 ブラウザアクセスを有するモデルは、敵対するウェブコンテンツによって操作されることができます。 データベースアクセスを有するモデルは、エクスフィルタリングデータに騙されることができます。 ドキュメントを処理するモデルは、これらのドキュメントに埋め込まれた隠された指示に従うことができます。 Agent-level attacks are going to be the next big thing. 組織は、それらをテストするよりも速くLLMを展開しています。 モデルは速く出荷します。 セキュリティテストはまったく起こりません。 何かがそのギャップを閉じる必要があり、それは専門のAIレッドチームを運営する必要がないほどアクセス可能でなければなりません。 The tooling gap is real and it's getting wider. GET IT Augustus は Apache 2.0 ライセンスを取得し、現在利用可能です。 Repo: https://github.com/praetorian-inc/augustus go install github.com/praetorian-inc/augustus/cmd/augustus@latest augustus scan ollama.OllamaChat \ --all \ --config '{"model":"llama3.2:3b"}' それは12週間にわたってリリースしているオープンソースの12ツールシリーズの2番目のツールです。週に1つのツール、それぞれ1つのことをうまく行う。最初のものはJuliusで、LLMの指紋処理(エンドポイントの背後にどのようなモデルが走っているかを特定する)を扱っています。 あなたがあなたのモデルに対してそれを実行し、何か興味深いものを見つけたら、私はそれについて聞きたいです。そして、まだカバーしていない攻撃ベクターの探査に貢献したい場合は、レポには、探査の定義形式と開発ワークフローを説明するCONTRIBUTING.mdがあります。 モデルは出荷しています. テストは追いつく必要があります。