🔐

OpenAIのプロンプトインジェクションに関する記事

に公開

はじめに

「ChatGPTにバケーション先を探してもらったら、なぜか微妙な物件ばかり勧められた」
「AIアシスタントにメール返信を任せたら、銀行の明細書を勝手に共有していた」

2025年11月7日、OpenAIが「Understanding prompt injections: a frontier security challenge」という記事を公開し、AIエージェントが直面する新たなセキュリティ脅威「プロンプトインジェクション」について説明しています。

alt text

プロンプトインジェクションって何?

一言で言うと

プロンプトインジェクションとは、「AIを騙して、ユーザーが頼んでいないことをさせる攻撃」 です。

フィッシング詐欺が人間を騙すのと同じように、プロンプトインジェクションはAIを騙します。

具体的にどう攻撃されるの?

想像してみてください。あなたがAIに「旅行先のホテルを探して」と頼んだとします。

  1. AIがWeb上のホテル情報サイトを見に行く
  2. そのサイトに攻撃者が悪意のある指示を仕込んでいる(コメント欄やレビュー、物件説明など)
  3. AIがその指示を読んでしまう
  4. あなたの希望と関係なく、攻撃者が勧めたい物件を提案してしまう可能性がある

これがプロンプトインジェクションの基本的な仕組みです。

図で理解する攻撃の流れ

この図が示すように、攻撃者はWebサイトに悪意ある指示を仕込むことで、あなたとAIの間に割り込んで、AIの行動を操ることができてしまう可能性があります。

実際に起こりうる被害

OpenAIの記事では、プロンプトインジェクションによって起こりうる被害の例が紹介されています。

ケース1: アパート検索での誤誘導

想定されるシナリオ:
AIに特定の条件でアパートを探してもらう場合。

攻撃の可能性:
物件リストに、AIを誤導する指示が含まれている。ユーザーの条件に関わらず、特定の物件を推薦させようとする。

起こりうる結果:
AIが、ユーザーの条件に最適でない物件を推薦してしまう可能性がある。

ケース2: メールアシスタントによる情報漏洩

想定されるシナリオ:
AIエージェントに夜間のメール対応を任せる場合。

攻撃の可能性:
攻撃者が送信したメールに、銀行明細などの機密情報を探して共有させようとする誤導的な指示が含まれている。

起こりうる結果:
エージェントがメール内の機密情報(銀行明細など)を見つけて、攻撃者と共有してしまう可能性がある。

なぜこんなことが起きるのか?

初期のAIシステムは、単一のユーザーと単一のAIエージェント間の会話でした。しかし現代のAI製品では:

  • インターネット上の情報を読み取る
  • メールやドキュメントにアクセスする
  • ユーザーの代わりに行動を取る

会話のコンテキストに、インターネットを含む多数のソースからのコンテンツが含まれるようになりました。つまり、第三者が悪意のある指示を会話のコンテキストに注入できる可能性が生まれたのです。

AIは「信頼できる指示」と「攻撃者の指示」を区別するのが難しいため、騙されてしまうのです。

OpenAIの多層防御アプローチ

OpenAIは、プロンプトインジェクションに対して以下の6つの多層防御戦略を採用しています。

1. 【安全性トレーニング】指示の信頼度を見分ける学習

取り組み内容:
「Instruction Hierarchy(指示階層)」という研究を開発し、モデルが信頼できる指示と信頼できない指示を区別できるようトレーニングしています。

学習方法:
自動レッドチーミング(automated red-teaming)を活用し、新しいプロンプトインジェクション攻撃パターンを開発して、モデルがそれらを認識して無視できるように、またはユーザーに警告できるようにしています。

この図は、AIモデルが指示の信頼度を評価し、適切に処理する基本的な流れを示しています。

2. 【モニタリング】AI駆動の自動監視システム

取り組み内容:
複数の自動監視システムを開発し、プロンプトインジェクション攻撃を識別してブロックしています。

特徴:

  • 安全性トレーニングを補完し、新たに発見された攻撃を迅速にブロック
  • ユーザーへの攻撃だけでなく、プラットフォーム上での敵対的な研究やテストも検出
  • 攻撃が実際に展開される前にキャッチ可能

3. 【セキュリティ保護】製品レベルの安全機能

何をしているか:
危険な操作をする前に、複数のセキュリティチェックを挟んでいます。

具体的な仕組み:

3. 【セキュリティ保護】製品レベルの安全機能

取り組み内容:
製品とインフラに複数の重複するセキュリティ保護機能を設計しています。

具体的な機能:

  • リンク承認: ChatGPTで特定のリンク(特にクロール不可サイト)を訪問する前にユーザーの承認を求める
  • サンドボックス化: CanvasやCodexなどでコードを実行する際、サンドボックス技術を使用してプロンプトインジェクションによる有害な変更を防止

この図は、セキュリティ保護機能の構成を示しています。ユーザーと外部リソースの間にセキュリティ層を配置しています。

4. 【ユーザーコントロール】組み込みのコントロール機能

取り組み内容:
製品に組み込みのコントロール機能を提供し、ユーザー自身が保護できるようにしています。

ChatGPT Atlasの機能例:

  • ログアウトモード: ログインせずにタスクを開始できる(個人情報へのアクセスを制限)
  • 確認プロンプト: 購入などの重要なステップの前に確認を求める
  • ウォッチモード: 機密サイトで操作中は、タブをアクティブにして監視する必要がある(タブを離れるとエージェントは一時停止)

5. 【レッドチーミング】専門家による攻撃シミュレーション

  • 確認プロンプト: 購入などの重要なステップの前に確認を求める
  • ウォッチモード: 機密サイトで操作中は、タブをアクティブにして監視する必要がある(タブを離れるとエージェントは一時停止)

5. 【レッドチーミング】専門家による攻撃シミュレーション

取り組み内容:
社内外のチームと広範なレッドチーミングを実施し、防御をテストおよび改善しています。

実績:

  • プロンプトインジェクションに特化して数千時間のテストを実施
  • 攻撃者の行動をエミュレートし、新しい攻撃方法を発見
  • 発見された技術や攻撃に対して、積極的にセキュリティ脆弱性に対処

6. 【バグバウンティ】外部研究者との協力

取り組み内容:
善意の独立したセキュリティ研究者が新しいプロンプトインジェクション技術や攻撃を発見した際に、バグバウンティプログラムで金銭的報酬を提供しています。

対象:

  • 意図しないユーザーデータ露出につながる現実的な攻撃経路を示すもの
  • 迅速な報告により、早期解決を促進

ユーザー自身ができる対策

OpenAIは、ユーザー自身がプロンプトインジェクションから身を守るための推奨事項を提示しています。

対策1: 機密データへのアクセスを制限する

可能な限り、エージェントがタスクを完了するために必要な機密データや認証情報へのアクセスのみに制限します。

例: バケーション先のリサーチのみを行う場合、ログインアクセスが不要であれば「ログアウト」モードを使用します。

この状態遷移図は、タスクの性質に応じて、適切なアクセスレベルを選ぶプロセスを示しています。

対策2: 確認を求められたら慎重に確認する

エージェントは、購入の完了やメールの送信など、重要なアクションを実行する前に最終確認を求めるよう設計されています。確認を求められたら:

  • アクションが正しいかを慎重に確認
  • 共有される情報がそのコンテキストで適切かを確認

銀行などの機密サイトでの操作時は、エージェントの作業を監視することが推奨されます(自動運転車でハンドルに手を置いておくのと同様)。

対策3: エージェントに明確な指示を与える

「メールを確認して必要なアクションを取って」といった非常に広範な指示は、隠れた悪意のあるコンテンツがモデルを誤導しやすくなります。

より安全なアプローチ:

  • 具体的なタスクを依頼する
  • メールなど他の場所からの有害な指示に従う余地を与えない

これで攻撃を完全に防げるわけではありませんが、攻撃者の成功を困難にします。

OpenAI記事の例:

悪い例:

夜間のメールに全て対応して、必要な返信を送っておいて

良い例:

プロジェクトAに関するメールで、質問があれば「明日の会議で確認します」と返信して。
それ以外のメールは既読にして、要約をまとめておいて。

対策4: 最新情報を入手する

AI技術が進化するにつれて、新しいリスクと保護対策が登場します。OpenAIや他の信頼できる情報源からのアップデートをフォローして、ベストプラクティスを学びましょう。

今後の展望

現状と課題

OpenAIによれば、プロンプトインジェクションは「フロンティア(最前線)な研究課題」として位置づけられています。

現在の状況:

  • 攻撃者による大規模な採用はまだ見られていない
  • しかし、今後敵対者がAIを騙す方法を見つけるために多大な時間とリソースを費やすと予想される

OpenAIは、2000年代初頭のコンピュータウイルスと同様に、この脅威は継続的に進化していくと考えています。

OpenAIの継続的な取り組み

実施中の取り組み:

  • 製品の安全性への多大な投資
  • この分野の堅牢性を高める研究の推進
  • 実際の使用から学び、安全に反復
  • 技術の進歩とともに学んだことを公開

近日公開予定:

  • AIのインターネット通信が会話から情報を送信するかどうかを検出する方法に関する詳細レポート

目標:
最も信頼でき、セキュリティに精通した同僚や友人と仕事をするのと同じくらい、これらのシステムを信頼性が高く安全にすること。

まとめ

プロンプトインジェクションは、AIエージェントがより多くのタスクを自律的にこなす時代における、新たなセキュリティ課題です。

重要なポイント:

  1. 脅威の本質: AIを騙して意図しない行動を取らせるソーシャルエンジニアリング攻撃
  2. OpenAIの多層防御: 安全性トレーニング、モニタリング、セキュリティ保護、ユーザーコントロール、レッドチーミング、バグバウンティの6層
  3. ユーザーの役割: アクセス制限、確認の慎重な実施、明確な指示、継続的な学習
  4. 継続的な進化: 技術とともに脅威も進化し、対策も継続的にアップデートが必要

AIエージェントがより強力になるにつれて、このようなセキュリティ課題を理解し、適切に対処することが、技術の恩恵を安全に享受するために不可欠です。

参考文献

Discussion