攻撃対策と検証

RAGのファイル取込を隔離する|マルウェア検査前に解析器へ渡さない設計

RAGのファイル取込は、隔離・検査・解析の3段階に分け、「脅威なし」の確定まで解析器へ渡しません。
利用者がアップロードしたファイルをAIで検索・要約したい、情シスや開発責任者の方の悩みに向けた記事です。
形式検査、マルウェア検査、検査不能の扱い、制限付き解析、再検査までの設計が分かります。

古野光太朗古野光太朗·2026.09.30·最終更新 2026.10.03·一次情報 6件
RAGの取込口は新しい実行境界。脅威なしと確定したものだけを解析待ちへ移す

RAGのファイル取込口では、何を守るべきですか?

取込口は新しい実行境界です。受信直後のファイルを、解析器や埋め込み処理へ渡してはいけません。

利用者がPDF、Word、画像、ZIPをアップロードする場合を考えます。AIが内容を検索・要約する検索拡張生成(RAG)では、ファイル取込口が新しい実行境界になります。

拡張子が.pdfでも、中身がPDFとは限りません。圧縮ファイルには、大量展開、暗号化、入れ子、実行形式の混入があります。

受信直後のファイルを、文字読取り、文書解析器、埋め込み処理へ渡してはいけません。

標準の取込経路では、公開領域と隔離領域を分けます。まず容量、拡張子、MIME形式、ファイル先頭の識別情報を検査して、隔離保存します。

マルウェア検査が「脅威なし」と確定したものだけを、解析待ちへ移します。検査失敗、非対応、時間超過を「脅威なし」と読み替えません。

取込経路は、どんな手順で作りますか?

受信時の形式検査、隔離保存と検査、圧縮・暗号化の別経路、制限付き解析、再検査の順に作ります。

RAGファイル取込で確認する対象と、拒否または次の工程へ渡す条件を示した設計例です。
TechWorker作成:本文の手順を図にした設計例です。製品の公式画面や導入効果の実測ではありません。画像を押すと拡大できます。

営業資料のPDFを索引へ入れる設計例では、アップロード完了と取込完了を別の状態にします。検査不能や時間超過なら隔離したまま止め、脅威なしの結果と制限付き解析の完了がそろってから索引へ渡します。

  1. 受信時は名前と申告された形式を信用しません。許可する業務文書を先に列挙し、拡張子、MIME形式、ファイル署名を組み合わせて検査します。OWASPのファイルアップロード手引きは、Content-Typeを信頼しないよう勧めています[1]。利用者が偽装できるためです。拡張子の許可一覧、署名検査、ファイル名の再生成も組み合わせます。容量制限、認可、別サーバーまたは公開領域外への保存も組み合わせます。元のファイル名は、画面表示用の情報として無害化します。保存名には、サーバー側で発行した乱数IDを使います。取込担当の実行用アカウントには、公開保管領域や本番索引への書込み権限を与えません。
  2. 検査完了までは隔離領域から出しません。ファイルを隔離用の保管領域へ保存し、オブジェクトIDとハッシュ値を発行します。Amazon GuardDuty Malware Protection for S3は、新しいオブジェクトを検査します。結果の状態をタグへ記録できます[2]。状態は、NO_THREATS_FOUND、THREATS_FOUND、UNSUPPORTEDなどです。ACCESS_DENIEDやFAILEDもあります。NO_THREATS_FOUND以外は、自動的に解析器へ渡しません。
  3. 検査結果の通知の重複に備えます。AWSは、EventBridgeへの結果通知が最低1回配送であることを示しています[2]。同じオブジェクトに、複数の結果が届く可能性があります。オブジェクトの版、ハッシュ値、検査器の版の組み合わせを、一意の識別子にします。「脅威なし」の確定を、一度だけ解析待ちへ渡します。
  4. 圧縮・暗号化ファイルを別経路にします。ZIPやRARは、展開後容量、ファイル数、入れ子の深さ、圧縮率へ上限を置きます。暗号化ファイルは、依頼者へ暗号化を外した再提出を求めます。隔離された端末で人が確認する、例外手順へ送る方法もあります。通常経路へは戻しません。
  5. 脅威なし判定後も解析器を隔離します。ここからは編集部の推奨設計です。解析器を隔離実行環境で動かし、外部通信を切ります。CPU、メモリー、処理時間、出力量にも上限を置きます。抽出文字、画像、付随情報は、別々に制限します。
  6. 既存ファイルを再検査します。新しい脅威情報や検査器の変更後に、再検査が必要になる場合があります。Microsoftは、保存されたファイルへのオンデマンド検査(必要なときに行う検査)を示しています[5]。以前の失敗を再試行する用途も示しています。再検査後の対応は、編集部の推奨設計です。脅威が見つかった文書に対応する分割片を、索引から外します。その文書を参照した回答や外部出力の範囲を確認します。

取込経路の設計がうまくいかない例には、どんなものがありますか?

1つの検査で許可する、タグを正本にする、検査器があれば完了と見なす、の3つが典型です。

圧縮ファイルの展開については、編集部の推奨設計です。掲載したクラウド製品資料が、手順一式を直接保証するものではありません。圧縮ファイル内に、許可外の拡張子、別の場所を指すシンボリックリンク、同名ファイル、絶対パスがあれば、展開を止めます。採用する解析器と圧縮方式に合わせて、経路逸脱と大量展開の試験を別途行います。

本番前には、次を試します。拡張子偽装、巨大ファイル、入れ子の圧縮ファイル、パスワード付き圧縮ファイルです。既知の無害な検査用マルウェア、検査の時間超過、重複通知、解析器停止も試します。

取込完了を、「アップロードに成功した」とは定義しません。次の条件がそろった時点で、RAGの索引へ渡します。

業務上の例外を設ける場合も、検査不能を脅威なしへ変更しません。通常経路とは別に、承認と記録を残します。

ファイルの種類ごとに、取込経路はどう違いますか?

通常のファイルは隔離して検査し、圧縮ファイルは展開前に上限を置き、暗号化ファイルは例外手順へ送ります。

種類最初の扱い検査後・検査不能時の扱い
通常のファイル形式を検査して隔離保存し、マルウェア検査へ脅威なしと確定したものだけを、隔離した解析器へ
圧縮ファイル展開後容量、ファイル数、入れ子の深さ、圧縮率に上限許可外の拡張子、シンボリックリンク、同名ファイル、絶対パスがあれば展開を止める
暗号化ファイル中身を検査できない場合がある通常経路へ戻さず、再提出または隔離端末での人の確認へ

よくある質問

アップロードされたファイルは、すぐに解析してよいですか?

すぐには解析しません。公開領域と隔離領域を分けます。容量、拡張子、MIME形式、ファイル先頭の識別情報を検査して、隔離保存します。マルウェア検査が脅威なしと確定したものだけを、解析待ちへ移します。検査失敗、非対応、時間超過を脅威なしと読み替えません。

パスワード付きの圧縮ファイルは、どう扱いますか?

暗号化ファイルは、中身を検査できない場合があります。検査失敗だが業務上必要として、通常経路へ戻しません。依頼者へ暗号化を外した再提出を求めます。隔離された端末で人が確認する例外手順へ送る方法もあります。展開後の容量や入れ子にも上限を置きます。

マルウェア検査で問題がなければ、文書は安全ですか?

いえません。マルウェア検査は、未知の脅威をすべて検出する保証ではありません。文書内に埋め込まれたAIへの指示を検出する対策の代わりにもなりません。解析器を外部通信のない隔離環境で動かし、処理量に上限を置くことも、別に必要です。

次の一歩は何から始めればよいですか?

受信直後のファイルを、公開領域から隔離領域へ移すことから始めます。解析はその後です。

  1. 隔離用の保管領域を作り、受信直後のファイルをそこへ保存します。
  2. 検査結果が「脅威なし」のものだけを、解析待ちへ移す仕組みを作ります。
  3. 検査不能と時間超過の件数を監視し、解析器の隔離と上限を決めます。

出典(一次情報と確認範囲)

資料確認日:2026年9月30日。本文中の手順例は編集部の提案で、導入効果の実測値ではありません。

  1. OWASP, File Upload Cheat Sheet
  2. AWS, How Malware Protection for S3 works
  3. Microsoft, Introduction to Defender for Storage Malware Scanning
  4. AWS, Capabilities of Malware Protection for S3
  5. Microsoft, On-demand malware scanning
  6. Microsoft, Secure your Azure Storage account
古野光太朗
古野光太朗 / 株式会社TechWorker 代表取締役 CEO兼CTO

上場企業を含む37社・2,500名の生成AI導入・研修支援で得た実務知をもとに、導入・運用・顧客理解を扱っています。この実績はTechWorkerの生成AI支援実績であり、個別製品の導入実績を示すものではありません。

株式会社TechWorkerの導入支援

RAGのファイル取込境界を点検する

隔離、検査状態、例外経路、解析器の制限、再検査と索引削除を確認します。

実務への導入を相談する
← AIセキュリティ・ラボの記事一覧に戻る