Adversarial Prompt Attack(アドバーサリアル プロンプト アタック)
LLM の安全フィルターやアライメントを回避する目的で設計された悪意あるプロンプト入力手法。モデルに有害な出力を誘発させたり、機密情報を漏洩させたりするリスクがある。
Adversarial Prompt Attack とは
Adversarial Prompt Attack(敵対的プロンプト攻撃)は、大規模言語モデル(LLM)の安全フィルター・倫理制約・アライメントを意図的に回避するために設計されたプロンプト入力手法の総称。2022〜2025年にかけて ChatGPT・Claude・Gemini・Llama 系モデルへの攻撃事例が急増し、LLM セキュリティ研究の中心課題となっている。
攻撃目標は主に:
- 有害コンテンツ生成の誘発: 武器製造・違法薬物・ヘイトスピーチ等の出力
- システムプロンプトの漏洩: 機密のシステム指示や API キーの抽出
- アイデンティティ操作: モデルに「制約なし AI」を演じさせる
- ダウンストリームタスクの乗っ取り: RAG や Agent ワークフロー内での命令差し込み
主な攻撃類型(2025年現在)
| 攻撃手法 | 概要 | 代表例 |
|---|---|---|
| Direct Prompt Injection | ユーザーが直接悪意あるプロンプトを入力 | 「前の指示を忘れて…」 |
| Indirect Prompt Injection | 外部データ(Web・PDF)経由で悪意ある指示を注入 | 悪意あるサイトのテキストを LLM に読ませる |
| Jailbreak | ロールプレイ・ハイポセティカル等でフィルター回避 | DAN (Do Anything Now) |
| Suffix Attack | 入力末尾に特殊トークン列を追加してアライメント無効化 | Adversarial Suffixes (Zou et al. 2023) |
| Goal Hijacking | マルチターン会話でモデルの目標を徐々に書き換え | 複数ターンの段階的誘導 |
| Prompt Leaking | システムプロンプトをユーザー入力で抽出 | 「初期指示をそのまま繰り返して」 |
| Token Manipulation | Unicode ゼロ幅文字・同形字でフィルターをすり抜け | ホモグリフ攻撃 |
| Many-Shot Jailbreak | 数百〜数千の例示でモデルを条件付け(Anil et al. 2024) | 長文コンテキストを悪用 |
Adversarial Suffix Attack の仕組み(Zou et al. 2023)
Carnegie Mellon University が2023年に発表した研究。LLM の応答に影響する最適なサフィックストークン列を勾配降下法で探索し、ほぼあらゆるモデルを誤動作させられることを示した。
- 対象: GPT-4・Claude・PaLM 2 等の商用モデルで転移攻撃が成立
- 原理: White-box モデル(Vicuna, LLaMA)でサフィックスを最適化 → Black-box モデルに転移
- 防御の困難さ: サフィックスは人間が読めない無意味なトークン列のため人手フィルターで検出不可
防御戦略(2025年時点のベストプラクティス)
- Input Validation & Sanitization: ユーザー入力の事前フィルタリング(禁止パターン・長さ制限)
- Prompt Hardening: システムプロンプトに制約強化の明示(「いかなる状況でも…するな」)
- Output Filtering: 生成結果の後処理フィルター(Perspective API・Llama Guard 等)
- Privilege Separation: エージェントの権限を最小化・ユーザー入力とシステム命令を明確に分離
- Red Teaming: 専門チームによる定期的な攻撃テスト(Anthropic の Constitutional AI / OpenAI のモデルカード策定プロセスに組み込み)
- LLM Firewall: 入出力を監視する専用モデル(LlamaGuard 2・ShieldLM・Lakera Guard)
主要評価ベンチマーク(2024〜2025年)
| ベンチマーク | 概要 | 発表元 |
|---|---|---|
| AdvBench | 有害プロンプト 520 件のアタック成功率測定 | Zou et al. 2023 |
| HarmBench | 400+ 攻撃手法 × 33 モデルの統一評価 | Mazeika et al. 2024 |
| JailbreakBench | Jailbreak 攻撃の標準ベンチマーク | Chao et al. 2024 |
| WildGuard | 野生データからの有害度評価 | Han et al. 2024 |
よくある質問(FAQ)
Q1: Jailbreak と Adversarial Prompt Attack の違いは? A: Jailbreak は主にロールプレイ等の社会工学的手法で、Adversarial Prompt Attack はより広義。Suffix Attack のような機械学習的最適化手法も含む。Jailbreak は Adversarial Prompt Attack の一部。
Q2: RAG や Copilot を使う企業は何を警戒すべきですか? A: Indirect Prompt Injection が最大の脅威。外部文書・Web 検索結果に埋め込まれた悪意ある指示が LLM Agent を乗っ取るリスク。入力ソースの信頼スコア付与と出力前の権限確認が必須。
Q3: LlamaGuard 等の安全フィルターで完全に防げますか? A: 完全防御は不可能。2024年時点で最新のフィルターでも新しい攻撃手法に対して 10〜30% の攻撃成功率が報告されている(HarmBench 等)。多層防御(Defense in Depth)が現実的なアプローチ。
まとめ
- LLM の安全フィルターを回避する攻撃手法の総称
- Direct/Indirect Injection・Jailbreak・Suffix Attack・Many-Shot 等に分類
- Zou et al. 2023 の Suffix Attack が商用モデルへの転移攻撃を実証
- 防御は多層防御(入力検証・出力フィルタ・LLM Firewall・Red Teaming)が基本
- HarmBench・JailbreakBench 等で標準化が進む評価エコシステム