分岐する信号場を検証点が選別し、不安定な経路と復旧可能な金色の経路を分ける抽象図
← 記事一覧
13 MIN READ
RAGAIセキュリティレジリエンス

RAGの知識ベースは、検索される攻撃面になる

悪意文書が検索上位へ入り回答を誘導するリスクを、書込み来歴、索引監視、矛盾検出、生成後検証、隔離と再索引に分けて防ぎます。

QUICK ANSWER / 3 LINES

まず、どういうことなのか

  1. WHAT / 結論

    外部根拠を使うRAGは、少数の悪意文書が特定質問で優先検索される攻撃面も作ります。

  2. WHY / 理由

    モデルへの安全指示だけでなく、書込み権限、来歴、検索結果、回答検証を分けて統制します。

  3. ACTION / 実務

    汚染発見後は文書を消すだけでなく、索引を再構築し、影響回答を追跡して訂正します。

読みたい章へ7章 · 要点と参考文献

RAGは、モデルの内部知識だけに頼らず、外部文書を検索して回答へ根拠を与えます。その長所は、知識ベースを更新できることです。同じ更新可能性は、攻撃者が検索されやすい文書を混入し、標的質問へ誤答を誘導する入口にもなります。知識ベースはデータ置き場ではなく、本番の実行面です。

通常の誤情報と意図的汚染を分ける

PoisonedRAGは、少数の攻撃文書を知識ベースへ注入し、標的質問への回答を攻撃者の望む内容へ誘導できる設定を示しました。[1] RAGの正答率向上だけを見ていると、検索可能な外部文書が攻撃経路になる点を見落とします。

古い文書、誤記、解釈差は通常の品質問題です。汚染は、特定質問で検索され、特定回答を出させる意図を持つ点が異なります。ただし運用上は意図を証明できない場合が多く、挙動と影響から隔離します。

攻撃文書は露骨な命令を含むとは限りません。質問語との強い一致、権威らしい記述、重複文書、偽の引用を用いて検索と生成を誘導できます。プロンプトインジェクションだけを検査対象にしません。

正常文書が誤って汚染判定されると、正しい回答を失います。検出率だけでなく、正常文書の除外、回答品質、確認負荷を同時に測ります。

脅威モデルには、書込み権限を持つ内部者、公開ウェブ、利用者投稿、侵害された連携先を含めます。誰がどの経路で文書を入れられるかを先に一覧化します。

  • 入口:公開収集、投稿、連携、内部更新を分ける
  • 標的:特定質問、利用者、業務を特定する
  • 誘導:検索順位と生成内容のどちらを変えたか見る
  • 影響:誤答、行動、下流処理への伝播を追う

書込み権限と来歴を第一防御にする

知識ベースへ入る前に、提供者、取得元、署名、取得時点、変換履歴、承認者を記録します。出典URLだけでは、後から内容が差し替わる場合や中継サービスを経る場合に不十分です。

書込み権限は検索権限より狭くします。利用者が回答用にアップロードした文書を、審査なしに共有知識へ昇格させません。一時セッションと組織知識の境界を技術的に分けます。

公開ウェブを自動収集する場合、ドメイン許可だけで信頼しません。ページ所有、引用元、公開履歴、内容の急変、同一文の大量複製を検査します。

変換処理にも汚染が入り得ます。OCR誤り、要約の捏造、チャンク境界の欠落を、原文と照合できるようにします。加工後テキストだけを来歴の起点にしません。

緊急更新と通常更新を分けます。緊急経路にも期限付き承認と事後審査を置き、速さを理由に恒久的な未検証文書を残しません。

索引と検索挙動を監視する

汚染文書は、内容だけでなく埋め込みと検索順位を攻撃します。通常質問の検索結果を基準化し、新規文書の追加で上位結果が急変した場合を監視します。

AgentPoisonは、長期記憶やRAG知識ベースへ少量の毒を入れ、特定トリガーで悪意ある記憶を検索させる攻撃を複数のエージェント設定で示しました。[2] 正常時の性能を保つため、平均監視だけでは見つけにくい攻撃です。

標的トリガーが未知でも、文書の埋め込み孤立、過剰な質問語、類似文書の急増、特定文書への検索集中を兆候として使えます。各兆候は誤検知を持つため、自動削除ではなく段階隔離へ結びます。

検索評価には通常質問だけでなく、綴り違い、言い換え、複数言語、長い文脈を含めます。攻撃が特定表現だけで発火する場合、代表質問の平均では隠れます。

検索器や埋め込みモデルを更新すると順位分布が変わります。更新後の急変をすべて攻撃とみなさず、変更前後の基準集合と承認済み索引を比較します。

  • 順位急変:新規文書が既存の上位根拠を押し出したか
  • 重複集中:似た主張が不自然に大量追加されていないか
  • トリガー差:言い換えで特定文書だけ現れないか
  • 由来差:未承認経路の文書が上位へ入っていないか

文書間の矛盾を回答前に止める

上位文書が互いに矛盾する場合、モデルへ自由に統合させると、攻撃文書の断定表現が勝つ可能性があります。発効日、所有者、版、一次資料への距離で比較します。

一つの文書だけが重大な主張を持つ場合は、第二の独立根拠を要求します。根拠が一つしか存在しない正当な更新もあるため、自動棄却ではなく承認者へ送ります。

多数の文書が同じ主張でも独立とは限りません。同じ誤情報を複製したページを票として数えず、元の出典へたどります。引用循環や実体のない参照を検出します。

生成前に文書を安全・危険の二値へ分類するだけでは不十分です。質問との適用範囲、文書が主張する対象、時点、例外を抽出し、回答条件と照合します。

矛盾を解けない場合の期待動作は、もっともらしい平均ではなく保留です。利用者へ不一致と確認先を示し、下流の自動実行へ進めません。

生成後に根拠忠実性を再確認する

検索結果が安全でも、モデルが根拠にない結論を追加することがあります。回答の各重要主張を引用箇所へ結び、引用が実際に主張を支えるかを検査します。

RevPRAGは、モデル内部の活性化を利用して汚染された回答を検出する方法を提案し、複数設定で高い検出性能を報告しました。[3] 有望な防御ですが、対象攻撃とモデルへのアクセス条件に依存します。

一つの検出器へ依存せず、来歴、検索異常、文書矛盾、回答忠実性を重ねます。攻撃が既知手法と違えば活性化パターンも変わる可能性があります。[3]

高影響回答では、一次資料の引用、人の確認、下流権限の制限を残します。検出器が通過したことを、内容の真実性や業務承認の代替にしません。

正常回答の拒否が増える場合も測ります。防御導入前後で正答、棄権、誤警報、確認時間を比較し、安全性と利用可能性の両下限を置きます。

汚染発見後は影響回答まで復旧する

悪意文書を削除しても、埋め込み索引、キャッシュ、要約、会話メモリに派生物が残る場合があります。原文、チャンク、索引、キャッシュを系譜で特定し、再構築します。

影響期間中に、その文書が検索された質問と生成回答を追跡します。アクセスログがなければ、削除後の安全は回復しても、過去の利用者へ訂正できません。

誤答が下流のチケット、決済、設定変更へ進んだ場合、回答訂正だけでは復旧しません。下流処理を停止し、人が結果を確認・取消できる手順を持ちます。

利用者への通知は、攻撃手法の詳細を不用意に広げず、影響した回答、正しい情報、必要な再行動、問い合わせ先を明確にします。通知の未達も追跡します。

再開には、汚染経路の遮断、索引再構築、基準質問の合格、影響回答の処理、監視強化を要求します。文書削除だけでインシデントを終了しません。

判断と証拠の関係

文書の隔離から、回答と外部状態の訂正へ

  1. 汚染の疑い投入元・文書・索引版を特定
  2. 隔離・再索引派生物を追い、対象汚染がないと確認した索引へ。なければ回答を保留
  3. 影響回答の追跡検索ログから利用者と下流処理へたどる
  4. 訂正と再開正常品質と攻撃試験を独立確認。未知攻撃の不存在は保証しない
正常誤排除
新しい正当文書を失った件数
影響追跡
回答訂正と外部処理の回復を分ける
Catalysphereによる未検証の運用・測定設計案です。研究の実測値や導入効果を表した図ではなく、自社条件で検証する判断関係を示します。

攻撃と正常品質を同じ試験で測る

防御評価には、既知攻撃、未知に近い変形、正常な新規文書、矛盾する正当文書を含めます。攻撃成功率だけを下げるために、新しい情報をすべて拒否する設計は使えません。

攻撃者の知識と権限を変えます。検索器を知る攻撃、ブラックボックス攻撃、内部書込み、公開ウェブ経由で必要な防御が異なります。

組織内の善意の誤りも同じ復旧経路へ乗せます。意図の証明を待って隔離が遅れないよう、影響に基づく一時停止と、後続の原因調査を分けます。

運用指標は、汚染検出、正常文書の誤隔離、検索品質、重大誤答、復旧時間、影響追跡率です。単一の攻撃ベンチマーク得点で承認しません。

RAGの信頼性は、モデルが根拠を読む能力だけではありません。根拠が誰により入り、どう検索され、どの回答へ使われ、汚染時にどこまで巻き戻せるかという知識供給網の能力です。

リリース票は、投入元と索引版を識別欄に、攻撃成功率・正常文書の誤排除率・復旧時間の上限を合格欄に分けます。汚染を検出するか上限を超えた索引は新規投入を凍結し、対象汚染が含まれないと確認できた索引へ戻します。確認できる索引がなければ回答提供を保留します。汚染経路を閉じた再索引が攻撃試験と正常品質試験の両方に合格したことを、セキュリティ責任者と知識基盤責任者が承認してから再開します。

SOURCES / 03

参考文献と読み方

  1. [1]
    PoisonedRAG: Knowledge Corruption Attacks to Retrieval-Augmented Generation of Large Language Models

    34th USENIX Security Symposium

    観測
    少数の攻撃文書を知識ベースへ注入し、標的質問で攻撃者の望む回答を誘導するRAG汚染を示した。
    限界
    選択したRAG構成、データセット、攻撃知識に基づき、実環境の全攻撃成功率を示さない。
  2. [2]
    AgentPoison: Red-teaming LLM Agents via Poisoning Memory or Knowledge Bases

    Advances in Neural Information Processing Systems 37

    観測
    長期メモリまたはRAG知識ベースへの少量注入で、特定トリガー時に悪意ある記憶を検索させる攻撃を示した。
    限界
    構成されたエージェント、トリガー、攻撃設定であり、全種類の本番メモリや防御を評価しない。
  3. [3]
    RevPRAG: Revealing Poisoning Attacks in Retrieval-Augmented Generation through LLM Activation Analysis

    Findings of EMNLP 2025, 12999–13011

    観測
    モデル活性化の差を用いて汚染回答を検出する方法を提案し、複数ベンチマークで高い検出性能を報告した。
    限界
    内部活性化へのアクセスと既知の攻撃分布に依存し、APIだけのモデルや未知攻撃へそのまま適用できない。