本番LLMは1日数百万回の推論を処理し、モデル更新・システムプロンプト変更・ファインチューニングのたびに挙動が変わる。四半期1回の手動テストではその変化を追跡できず、変更後に生まれた脆弱性は次のアセスメントまで放置される。AIエージェントを本番展開する組織の約88%が確認済みまたは疑わしいセキュリティインシデントを経験しており、継続的な自動テストはオプションではなく設計要件だ。
手動レッドチームが限界を迎える理由とは何か
本番LLMは更新のたびに挙動が変わり、四半期手動テストでは追従できない。自動化は214,271件の試行で69.5%の攻撃成功率を達成している。
手動レッドチームは3つの制約に直面する。スケールの限界——人間が1セッションで生成できる攻撃数は、LLMが1秒間に処理できる推論数と桁違いに少ない。更新への追従不能——ファインチューニングやシステムプロンプトの変更は週次・日次で起きるが、次の四半期テストまでその影響は未検証のまま残る。攻撃カタログの陳腐化——新しいジェイルブレイク手法はセキュリティ担当者がカタログ化するペースをはるかに上回る速度で公開される。
214,271件の攻撃試行を分析した調査では、自動化アプローチが69.5%の成功率を達成したのに対し、手動テストは47.6%にとどまった。大規模な試行によってのみ浮かび上がる「稀な脆弱性」を発見するには、自動化による網羅的なカバレッジが不可欠だ。
LLM-as-Attacker設計とはどう構築するか
攻撃者LLMが自然言語目標から攻撃・変換・実行・評価のループを回すLLM-as-Attackerが自動化の基幹だ。
自動化レッドチームの基本構造は4コンポーネントで成立する。
- 攻撃者LLM(Attacker): 目標(例:「個人情報を引き出せ」)を自然言語で受け取り、攻撃プロンプトを生成する。生成戦略は「純粋生成型(試行錯誤で戦略を発明)」と「ライブラリ参照型(既存の有害クエリプールからランダム組み合わせ)」に分かれる
- 変換レイヤー: ROT13符号化・言語変換・感情フレーミングなど、プロンプトを変形して安全フィルタを迂回しやすくする
- 実行エンジン: 生成した攻撃をターゲットモデルに送信し、レスポンスを収集する
- 評価モデル(Judge): レスポンスが攻撃目標を達成したかをスコアリングし、攻撃者LLMへフィードバックしてループを改善する
WildTeamingパターンは、公開されたハームクエリとジェイルブレイク手法の大規模プールからランダムに組み合わせる手法で、多様性の高い攻撃セットを低コストで生成できる。エージェント主導型は、AIエージェント自身が攻撃手法を選択・合成・実行し、自然言語の目標から構造化された知見を生成する次世代パターンで、複雑なマルチエージェントシステムの評価に有効だ。
DeepTeam(Confident AI)は攻撃生成・実行・評価の3フェーズを統合するOSSフレームワークで、バイアス・PII漏洩・毒性など40種以上の専門メトリクスでスコアリングを行う。過去の攻撃をヒストリカルデータとして再利用できるため、モデル更新後の回帰テストも自動化できる。
Crescendo攻撃はどう機能し、どう設計に組み込むか
Crescendoは5〜20ターンの段階的会話で安全フィルタを迂回するマルチターン攻撃で、2024年に定式化された。
Crescendo攻撃は単一プロンプトの安全フィルタを回避するために会話の文脈を悪用する。典型的な構造は4フェーズで展開する。
- フェーズ1(探索): 無害なオープンクエスチョンで会話を開始し、信頼関係を構築する
- フェーズ2(フレーミング): 架空のシナリオや教育的文脈に誘導し、ガードを下げる
- フェーズ3(段階的エスカレーション): 5〜20ターンかけて徐々に有害な方向へ誘導する
- フェーズ4(引き出し): 標的情報の出力を求める最終プロンプトを送る
Microsoft研究者が言語適応(Language Adaptation)を組み合わせたバリアントでは、ランサムウェアの完全なコードを生成させることに成功している。多段階エスカレーションと言語変換の組み合わせは、単一のアライメント機構だけでは防御しきれないことを示している。
レッドチームシステムでCrescendoをモデル化するには、単一プロンプト評価ではなく多ターン会話状態を追跡できる実行エンジンが必要だ。LangWatchのScenarioフレームワークはCrescendo戦略を組み込んだマルチターン攻撃シーケンスをAIエージェントに対して実行する設計になっており、エージェントの会話履歴全体を対象に脆弱性を検出する。
プロンプトインジェクションの多層防御はシングルターンの防御設計を扱っているが、Crescendoへの対策はそれと組み合わせた多ターン文脈監視が必要となる。
継続テスト基盤のCI/CD統合設計
DeepTeamやScenarioをCI/CDに組み込めば、プロンプト変更やモデル更新のたびに攻撃テストが自動走行する。
企業のエージェント基盤に継続レッドチームを組み込む際の実装ステップを示す。
ステップ1: 脅威モデリングと攻撃カタログの整備
対象システムのリスク領域(PII漏洩・権限昇格・有害コンテンツ生成・RAG汚染・ツール不正利用)を洗い出し、攻撃カタログの優先順位付けを行う。攻撃ウェイトを脅威モデルに基づいて設定することで、重要度の高い脆弱性クラスに対してより多くの試行を割り当てられる。
ステップ2: 攻撃ランナーの構成
DeepTeamなどのフレームワークをテスト環境に導入し、コールバック関数でターゲットLLMのAPIに接続する。単一ターン攻撃(プロンプトインジェクション・ROT13符号化入力等)とマルチターン攻撃(Crescendoシーケンス)の両カテゴリをカバーする攻撃セットを構成する。Judge LLMの判定閾値と攻撃総数を定義し、テスト実行時間とカバレッジのバランスを取る。
ステップ3: CI/CDゲートとしての組み込み
プルリクエスト・スプリント終了・モデル入れ替えのタイミングでレッドチームパイプラインを自動起動する。攻撃成功率・新規脆弱性数・Judge失敗率をダッシュボードに出力し、閾値超過時にデプロイを停止するゲートを設ける。
ステップ4: 回帰テストの体系化
過去に発見した攻撃パターンをゴールデンデータセットとして保存し、毎回の更新で回帰テストを走らせる。修正済み脆弱性が再発していないかを自動確認することで、パッチ後のリグレッションを継続的に検出できる。
大規模エンタープライズでのエージェント基盤設計では、Kuu RDE(Reinvention Deployed Engineering)サービスが継続レッドチーム基盤の設計・実装を支援している。AIエージェントの権限管理設計と組み合わせることで、攻撃面を体系的に削減できる。
参考
- Crescendo Attacks: How LLMs Respond to Gradual Prompt Attacks | NeuralTrust
- DeepTeam: Red Team LLMs and AI Agents Framework | GitHub
- LLM Red Teaming: A Step-By-Step Guide | Confident AI
- AI red teaming agents change how LLMs get tested | Help Net Security
まとめ
AIレッドチーミングの自動化は、LLM-as-Attackerアーキテクチャ・Crescendo多段階攻撃シミュレーション・CI/CD統合の3要素で成立する。214,271件の試行データが示すように、自動化(69.5%)は手動テスト(47.6%)を大きく上回る攻撃成功率を持ち、稀な脆弱性の発見に不可欠だ。本番LLMの挙動がモデル更新のたびに変わるエンタープライズ環境では、継続テスト基盤を設計初期から組み込み、デプロイパイプラインのゲートとして機能させることが求められる。
エンタープライズ規模でのAIエージェントセキュリティ基盤の構築については、Kuu RDEサービスにお問い合わせください。