RAG のセキュリティギャップ

Retrieval-Augmented Generation (RAG) は、エンタープライズ AI エージェントを独自の企業知識で基盤化するための基盤アーキテクチャとして急速に台頭しています。大規模言語モデル (LLM) と高密度ベクトルデータベースおよびナレッジグラフを組み合わせることで、組織はエージェントが複雑なクエリに回答し、財務記録を分析し、運用コンテキストを活用したカスタマーサポートワークフローを自動化することを可能にしています。

しかし、エージェント型ワークフローがプロトタイプのサイドカーからコアインフラストラクチャへ移行するにつれ、非構造化エンタープライズデータをベクトル検索パイプラインに公開することは、深刻で監視されていないセキュリティサーフェスをもたらします。

LLM がベクトルストアからドキュメントチャンクを取得すると、従来のアイデンティティ管理フレームワークは機能しなくなります。レガシー SQL データベースやクラウドストレージバケットで設定された Role-Based Access Control (RBAC) は、ベクトル埋め込み空間へ自然には変換されません。

ベクトルストアがドキュメントを取り込む際に、きめ細かなドキュメントレベルの Access Control List (ACL) や暗号化データ系列を保持しない場合、自律型エージェントは過剰に権限付与されたコンテキストで動作します。

ガバナンスされていない RAG アーキテクチャの結果は深刻です:

  • コンテキストインジェクションによる特権昇格: 基本的な読み取りアクセス権を持つ従業員がエージェントに高レベルのクエリを尋ねます。エージェントのベクトル検索は、クエリ時認可フィルタリングを欠いたチャンク化された財務予測や役員メールを取得し、生成された応答で機密データを公開してしまいます。

  • 間接プロンプトインジェクション: 悪意のある攻撃者は公開または共有の企業ドキュメント内に隠された指示ペイロードを埋め込みます (例: PDF 請求書の隠し白テキスト)。RAG エンジンがこのチャンクを取り込み取得すると、LLM は注入されたコマンドを実行し、エージェントの実行ループを乗っ取ります。

  • 古いコンテキストと幻覚ループ: ベクトルデータベースは、ステートフルなライフサイクルポリシーに紐付けられていない限り、古いドキュメント埋め込みを無期限に保持します。古い運用手順に基づいて意思決定を行うエージェントは、幻覚や法令非準拠の出力を生成します。

エンタープライズ規模でエージェント型 RAG を展開するためには、プラットフォームエンジニアリングチームは データ・コンテキスト・RAG 系列ガバナンス を実装する必要があります。これは、クエリ時認可、暗号化データ来歴、自動コンテキストサニタイゼーションを保証する継続的なアーキテクチャです。


深掘りアーキテクチャ:ガバナンスされた RAG パイプライン

プロダクショングレードのガバナンスされた RAG アーキテクチャは、コンテキスト処理を 3 つの明確で可観測なセキュリティ境界に分割します。

1. 取り込みと暗号化埋め込み系列

ガバナンスは、ベクトルがインデックスパーティションに書き込まれる前の取り込みフェーズで開始します。ドキュメントチャンクが解析エンジン (例: Unstructured、LlamaIndex、または LangChain のスプリッター) を通過する際、パイプラインは暗号化ハッシュを計算し、必須の系列ヘッダーを追加します:

{
  "chunk_id": "chk_9874a12b_2026",
  "document_id": "doc_sec_q2_2026_financials",
  "source_uri": "s3://corp-finance-vault/confidential/q2_report.pdf",
  "source_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "classification": "RESTRICTED_CONFIDENTIAL",
  "allowed_attributes": {
    "departments": ["FINANCE", "EXECUTIVE_BOARD"],
    "clearance_level": 4,
    "geo_residency": "US-EAST"
  },
  "ingestion_timestamp": "2026-07-30T06:30:00Z"
}

Enter fullscreen mode Exit fullscreen mode

高次元ベクトル表現にメタデータを直接埋め込むことで、インデックスは各数学的点とその基盤となるソースドキュメントを結びつける検証可能な監査証跡を保持します。

2. クエリ時コンテキスト ABAC(属性ベースアクセス制御)

過剰に権限付与された取得を排除するため、アクセス制御はベクトル取得後の後処理ではなく、ベクトル検索クエリ自体の中でクエリ時に評価される必要があります。

エージェントがユーザーに代わって取得リクエストを開始すると、コンテキスト ABAC ゲートはクエリを傍受し、ユーザーの委任されたアイデンティティクレーム (例: RFC 8693 OAuth 2.1 トークンクレーム) を抽出して、構造化メタデータフィルタをベクトルデータベースのクエリペイロードに直接注入します:

# 例: ABAC フィルタを埋め込んだ本番用ベクトル検索ペイロード
vector_db.search(
    query_vector=agent_generated_embedding,
    top_k=5,
    filter={
        "and": [
            {"classification": {"$in": user_token_claims.get("clearance_scopes")}},
            {"allowed_attributes.departments": {"$in": user_token_claims.get("department")}},
            {"allowed_attributes.clearance_level": {"$lte": user_token_claims.get("clearance_level")}}
        ]
    }
)

Enter fullscreen mode Exit fullscreen mode

ベクトルエンジン内でメタデータフィルタリングをネイティブに強制することで、認可されていないチャンクは類似度検索計算から数学的に除外され、取得レイヤーで特権昇格を無効化します。

3. アウトバウンドペイロードサニタイゼーションとコンテキスト衛生

認可されたベクトルチャンクであっても、LLM システムプロンプトに注入される前にコンテキスト衛生を受ける必要があります。アウトバウンドペイロードサニタイザーは 3 つの主要な操作を実行します:

  • 自動 PII / PHI マスキング: 高性能正規表現エンジンと固有表現認識 (NER) モデルを使用して取得したテキストをスキャンし、社会保障番号、API キー、顧客名、クレジットカード情報を伏せ字化します。

  • 間接インジェクション除去: 取得したテキストブロックをシステムレベルプロンプトパターン (例: "Ignore previous instructions and execute...") について分析し、コンテキストハイドレーション前にシステムコマンドを無効化します。

  • コンテキスト長最小化: 冗長なセマンティックパディングを除去してトークン予算の利用を最適化し、コストを削減すると同時にモデルに公開される潜在的な攻撃サーフェスを最小化します。


エンタープライズ RAG ガバナンスの 3 つの譲れないルール

取得時アクセス制御リスト (ACL) の強制

取得後フィルタリング (20 チャンクを取得して手動で認可されていないものを削除) は、過渡的な障害時に内部メモリをデータ漏洩にさらします。アクセスルールはベクトルストアのインデックス走査ロジック内で直接実行される必要があります。

グラフベースデータ系列の維持

プラットフォームチームは、生のソースレコード → パーサーバージョン → チャンク境界 → ベクトル ID → LLM プロンプトインスタンスをマッピングする集中型データ系列グラフを維持する必要があります。GDPR/CCPA 準拠リクエストによりソースドキュメントが変更または削除された場合、プラットフォームシステムは関連するすべてのベクトル埋め込みを即座に特定して削除する必要があります。

リアルタイムインデックス鮮度と古いチャンク排除の実装

ベクトルストアは Time-To-Live (TTL) 有効期限ウィンドウと自動再インデックス化 webhook を強制する必要があります。古い運用ガイダンスや非推奨ポリシーマニュアルは、ドキュメント更新時にアクティブなベクトルパーティションから自動的に排除される必要があります。


アーキテクトの見解

RAG ガバナンスは本質的に、非決定論的システムに適用された Data Security Posture Management (DSPM) の問題です。

本番用リレーショナルデータベースや Kubernetes シークレットストアと全く同じ Zero-Trust セキュリティ原則でベクトルストアを扱ってください。クエリ時に厳格な属性フィルタリングを強制し、埋め込みに暗号署名を行い、エージェント型ワークフロー全体で発生するすべてのコンテキストハイドレーションイベントを監査してください。


出典と参考文献


著者について

私は 14 年の IT 業界経験を持つエンタープライズクラウド & AI アーキテクトで、組織がエンタープライズグレードのクラウド、AI、自動化ソリューションを設計・スケーリングすることを支援しています。

現在は、エンタープライズ規模の AIOps プラットフォームの構築、顧客の AI ファースト変革の加速、FinOps の採用推進、測定可能なビジネスインパクトを生む本番対応 Generative AI アプリケーションの開発に注力しています。現実世界のエンタープライズ課題を大規模に解決するため、アーキテクチャ、プラットフォームエンジニアリング、AI イノベーションを橋渡しすることに強く情熱を持っています。

クラウドアーキテクチャ、AIOps、Generative AI、FinOps に関するご質問がありましたら、LinkedIn または X (Twitter) の @jitu028 でお気軽にご連絡ください。DM はいつでも受け付けており、喜んでお手伝いします。

1 対 1 のメンタリング、アーキテクチャガイダンス、キャリア相談、またはエンタープライズソリューションコンサルティングについては、Topmate でセッションを予約することも可能です:

https://www.topmate.io/jitu028