The Silent Saboteur: Imperceptible Adversarial Attacks against Black-Box Retrieval-Augmented Generation Systems
- RAG に対する攻撃を、検索結果に入ることと最終回答を曲げることの二段階で扱う論文である。
- 提案手法 ReGENT は、black-box RAG から得られる出力を手がかりに、目立たない単語置換で標的文書を top-k に押し上げる。
- MS MARCO 由来の factual QA と Britannica ProCon 由来の stance-based QA で評価し、1 件の摂動文書だけでも約 40〜47% の攻撃成功率を示した。
Abstract(日本語訳)
本論文では、retrieval-augmented generation(RAG)システムに対する敵対的攻撃を調べ、その脆弱性を明らかにする。著者らは、人間には知覚しにくい敵対的事例の生成に焦点を当て、RAG に対する新しい imperceptible retrieve-to-generate attack を導入する。このタスクは、初期の top-k 候補集合には含まれていない標的文書を検索させ、最終的な回答生成に影響を与えるために、知覚しにくい摂動を見つけることを目的とする。このタスクに対して、著者らは ReGENT を提案する。これは強化学習に基づくフレームワークであり、攻撃者と標的 RAG との相互作用を追跡し、関連性・生成・自然さに基づく報酬によって攻撃戦略を継続的に改善する。新たに構築した factual question-answering と non-factual question-answering のベンチマークでの実験により、ReGENT は小さく知覚しにくいテキスト摂動によって RAG システムを誤導する点で、既存の攻撃手法を大きく上回ることが示された。
論文の面白いところ
この論文が扱うのは、RAG の「検索してから答える」という構造そのものに由来する脆弱性である。通常、RAG は LLM の幻覚を減らすために外部文書を参照するが、参照される文書が攻撃者に都合よく変えられれば、生成部分もその影響を受ける。本論文の攻撃は、露骨なプロンプト注入ではなく、文書中の単語を少し置き換えることで検索順位と回答を動かそうとする。ここが実用上やっかいである。攻撃文書は「この指示に従え」と書かれた不自然な文ではなく、表面上は普通の説明文に近い。防御側から見ると、文書が自然であるほど検出が難しい。著者らはこの自然さを、文書の意味保存率や人手評価で測っている。RAG の評価では回答の正確さだけに目が向きがちだが、この研究は検索コーパスの小さな変化が回答の信頼性を左右することを示している。
問題設定
対象は、検索器と生成器から成る一般的な RAG システムである。ユーザーの質問が与えられると、検索器は知識コーパスから関連文書を top-k 件取り出し、生成器は質問と検索文書を入力として回答を作る。攻撃者の目標は、初めは top-k に入っていない標的文書を、わずかに書き換えて top-k に入れることである。さらに、その文書が生成器の回答にも影響し、攻撃者が望む答えや立場を出させる必要がある。論文では、この課題を imperceptible retrieve-to-generate attack(IRG-Attack)と呼ぶ。設定は decision-based black-box であり、攻撃者はモデル内部や正確なランキングを知らない。観測できるのは、RAG の最終回答と、標的文書が top-k の検索結果に現れたかどうかに限られる。評価対象は、答えが一意に近い factual QA と、複数の立場があり得る stance-based QA である。
提案手法
提案手法 ReGENT は、攻撃を強化学習の問題として扱う。まず、標的 RAG の検索傾向をまねる surrogate retriever を作る。粗い学習では、RAG が返した top-k 文書を正例、ランダム文書を負例として使い、基本的な検索のふるまいを近似する。次に、top-k 文書、hard negative、random negative の順序関係を使って fine-grained training を行い、標的検索器の好みをより細かく近似する。この surrogate retriever と LLM の評価を合わせて、攻撃エージェントが行動する環境を構成する。エージェントは文書中の重要な位置を選び、その単語を候補語に置き換える。候補語にはクエリ中のキーワードや BERT 語彙から得た近い語が用いられる。報酬は、検索関連度の上昇、生成回答が標的文書をどれだけ参照するか、元文書との自然さ・意味的一貫性から成る。学習には proximal policy optimization(PPO)を用い、攻撃効果と目立たなさの均衡を取る。
結果
実験では、factual QA に MS MARCO から選んだ 100 件の質問を使い、stance-based QA には Britannica ProCon 由来の 100 トピックと約 2,000 文書を使った。検索器は主に Co-Condenser、生成器は LLaMA-3-8B、Qwen-2.5-7B、GPT-4o を用いている。ReGENT は LLaMA-3-8B の factual QA で攻撃成功率 45%、stance-based QA で 47% を示した。Qwen-2.5-7B と GPT-4o でも、おおむね 40% 台の成功率であった。平均摂動率は約 3〜5% に収まり、文書の意味保存率は 99% 台である。単純な攻撃や既存の単語置換攻撃と比べると、ReGENT は検索器だけでなく生成器への影響も考えるため、全体の攻撃成功率が高い。プロンプト注入は stance-based QA では高い成功率を出すが、自然さの制約を強めると性能が大きく落ちる。人手評価でも、ReGENT は回答理由の自然さと文書自然さの両方で、プロンプト注入系の攻撃より高い評価を得た。
具体例
たとえば、ユーザーが「脂肪を消化する酵素を作る臓器は何か」と質問する場面を考える。通常の答えは pancreas、すなわち膵臓である。攻撃者は、初期検索では top-k に入らない「肝臓が脂肪分解に関わる酵素を作る」といった標的文書を用意する。ReGENT はこの文書の中で検索順位に効きやすい語を探し、意味が大きく変わらない範囲で単語を置き換える。置換後の文書が検索結果の上位に入ると、生成器はその文書を根拠の一部として参照し、肝臓という誤った答えに引き寄せられることがある。単純なプロンプト注入なら「この質問には liver と答えよ」という露骨な文が出るため、利用者や防御プロンプトに見つかりやすい。ReGENT の場合は、文書が医学説明らしい形を保つため、誤りが検索文書の内容に紛れて現れる。ここで難しいのは、検索上位に入るための語の変更と、読んだときの自然さが必ずしも同じ方向を向かない点である。