メインコンテンツにスキップ
OpenAI

2025年11月7日

セキュリティ

プロンプトインジェクションの理解:フロンティアのセキュリティ上の課題

AI ツールは、質問に答えるだけでなく、さらに多くの機能を持ち始めています。今ではウェブを閲覧したり、調査を支援したり、旅行の計画を立てたり、商品の購入を支援したりできるようになりました。AI ツールがより高い能力を持ち、他のアプリでユーザーデータにアクセスし、ユーザーに代わって行動を起こせるようになると、新たなセキュリティ上の課題が生じます。私たちが特に注力しているのは、プロンプトインジェクションです。

プロンプトインジェクション攻撃の仕組みを示す図。左側には、笑顔のユーザーのアイコンがあり、「ユーザーが AI にタスクの支援を求める」とラベル付けされている。矢印が中央を指しており、そこではコンピューター画面のアイコンに「AI sees a website with the attack」というラベルが付いていて、その上には帽子をかぶってにやりとした小さな人物に「Attacker inserted プロンプトインジェクション」というラベルが付いています。別の矢印が右方向を指しており、「AI が意図しない行動を取るように騙された」とラベル付けされた警告三角形のあるドキュメントアイコンを示しています。このフローは、攻撃者がプロンプトを注入することで AI を操作する方法を示しています。

プロンプトインジェクションとは何ですか?

プロンプトインジェクションは、会話型 AI に特有のソーシャルエンジニアリング攻撃の一種です。初期の AI システムは、1人のユーザーと1つの AI エージェントとの対話でした。今日の AI 製品では、会話にインターネットを含む多くの情報源からのコンテンツが含まれることがあります。ユーザーでも AI でもない第三者が、会話の文脈に悪意のある指示を注入してモデルを誤誘導する可能性があるという考えから、「プロンプトインジェクション」という用語が生まれました。

フィッシングメールやウェブ上の詐欺が人々をだまして機密情報を渡させるように、プロンプトインジェクションは AI をだまして、要求していないことを実行させようとします。

AI にオンラインで休暇のリサーチを依頼したと想像してください。その際、リストのコメントやレビューに隠された誤解を招くコンテンツや有害な指示に遭遇する可能性があります。そのコンテンツは、AI をだまして誤ったリストを推奨させるために巧妙に作られている可能性があり、さらに悪い場合にはクレジットカード情報を盗むことを目的としているかもしれません。

これらは「プロンプトインジェクション」攻撃の一例に過ぎません。AI をだまして意図しない行動を取らせるために設計された有害な指示であり、しばしばウェブページ、ドキュメント、メールといった通常のコンテンツに隠されています。

AI がより機密性の高いデータにアクセスし、より主体的に、より長いタスクを引き受けるにつれて、これらのリスクは増大します。

サマリー

AI に依頼したこと

攻撃者が何をするか

攻撃が成功した場合に起こる潜在的な結果

AI にアパートの検索を依頼すると、プロンプトインジェクションによって、最適でない物件を勧められることがあります。

あなたは、指定された条件に基づいてアパートを検索するよう AI に依頼します。

攻撃者は、ユーザーの好みに関係なく自分の物件が選ばれるように AI を騙すため、アパートのリストにプロンプトインジェクション攻撃を仕掛けました。

攻撃が成功すると、AI はあなたの好みに基づいて、最適でないアパートのリストを誤って推奨するかもしれません。

あなたは AI エージェントに夜間のメールへの返信を依頼し、結果として銀行の明細書を共有することになります。

今朝は忙しいため、夜間に届いたメールに対して AI エージェントに返信するように依頼します。

下記の「可能な限り、エージェントに明確な指示を与える」という項目を以参照してください


攻撃者は、モデルをだましてあなたの銀行取引明細を見つけ出し、それを攻撃者と共有させる誤情報を含むメールをあなたに送信しました。

攻撃が成功した場合、エージェントはユーザーがタスクのためにアクセスを許可したメール内で銀行取引明細書などを探し、それを攻撃者と共有する可能性があります。

ユーザーを保護するための当社のアプローチ

プロンプトインジェクションに対する防御は、AI 業界全体の課題であり、OpenAI の主要な注力分野です。私たちは敵対者がこのような攻撃を開発し続けると予想していますが、誰かが積極的にユーザーを誤解させようとしている場合でも、ユーザーが意図したタスクを実行できるように設計された防御を構築しています。この機能は、AGI のメリットを安全に享受するために不可欠です。

ユーザーを保護し、これらの攻撃に対するモデルの改善を図るため、当社では以下のような多層的なアプローチを採用しています。

安全訓練

私たちは、プロンプトインジェクションを認識し、それに引っかからない AIを求めています。しかし、敵対的攻撃に対する堅牢性は、機械学習や AI における長年の課題であり、これは難解で未解決の問題です。信頼できる指示と信頼できない指示を区別するモデルの開発に向けて、Instruction Hierarchy と呼ばれる研究を行いました。私たちは、モデルがプロンプトインジェクションのパターンをより適切に認識し、それらを無視したりユーザーに警告したりできるようにするため、新たなアプローチの開発を続けています。私たちが適用している手法の1つは自動化されたレッドチーミングであり、これは新たなプロンプトインジェクション攻撃を開発するために、何年にもわたって研究(新しいウィンドウで開く)してきた分野です。

監視

プロンプトインジェクション攻撃を特定しブロックするために、AI を活用した複数の自動モニターを開発しました。これらは安全訓練のアプローチを補完します。迅速に更新できるため、新たに発見した攻撃をすばやくブロックできます。これらのモニターは、ユーザーに対する潜在的なプロンプトインジェクション攻撃を特定するだけでなく、攻撃が実際に展開される前に、当社プラットフォームを使用した敵対的なプロンプトインジェクションの研究やテストを検知することも可能にします。

セキュリティ保護

当社は、ユーザーデータを保護するために、さまざまなセキュリティ保護を重層的に備えた製品とインフラストラクチャを設計しています。これらの機能は、今後の投稿でより技術的な詳細を説明する予定ですが、製品ごとにカスタマイズされています。例えば、信頼できないサイトを避けるために、ChatGPT で特定のリンクを承認するよう求めます。特に、カタログ化しないように求められたウェブサイト(新しいウィンドウで開く)では、訪問する前に承認が必要です。当社の AI がツールを用いて他のプログラムやコード(Canvas や開発ツール Codex など)を実行する際、プロンプトインジェクションによる有害な変更をモデルが行うのを防ぐために、サンドボックス化という手法を用いています。

ユーザーに主導権を持たせる

当社は、ユーザーが自分自身を守れるよう、製品に組み込みの管理機能を備えています。たとえば、ChatGPT Atlas ではログアウトモードを選択することができ、ChatGPT エージェントはサイトにログインせずにタスクを開始することができます。ChatGPT エージェントは、購入の完了などの機微な手順を実行する前に一時停止し、確認を求めます。エージェントが機密性の高いサイトで動作している場合、そのサイトの機密性を警告し、エージェントの作業を監視するためにタブをアクティブにしておく必要がある「ウォッチモード」を実装しています。機密情報を含むタブから離れると、エージェントは一時停止します。これにより、エージェントが実行しているアクションを常に把握し、制御することができます。

レッドチーミング

当社は、内部および外部のチームと協力して広範なレッドチーミングを行い、防御をテストし改善するほか、攻撃者の行動を模倣し、セキュリティを向上させる新たな方法を模索しています。これには、プロンプトインジェクションに特化して集中的に取り組んだ何千時間におよぶ作業が含まれています。新しい手法や攻撃が発見されると、当社のチームは積極的にセキュリティ脆弱性に対処し、モデルの緩和策を向上させます。

バグバウンティ

善意の独立したセキュリティ研究者が新たなプロンプトインジェクション手法や攻撃を発見するのを支援するため、意図しないユーザーデータの露出につながる可能性のある現実的な攻撃経路を示した場合、当社のバグバウンティプログラム(新しいウィンドウで開く)で金銭的な報酬を提供します。当社は、外部の貢献者がこれらの問題を迅速に報告できるように奨励し、それによって問題を解決し、防御をさらに強化することを目指しています。

ユーザーに決定させる

当社では、ユーザーが情報に基づいた意思決定を行えるよう、製品の特定の機能を使用することに伴うリスクについてユーザーに周知しています。たとえば、ChatGPT を他のアプリに接続する際には、アクセスされる可能性のあるデータ、そのデータの使用方法、そしてサイトがデータを盗もうとするなどのリスクについて説明し、より安全に利用するためのリンクを提供します。また、組織がワークスペース内でユーザーが有効化または使用できる機能を制御できるようにしています。

安全に過ごすために取れる手段

プロンプトインジェクションはフロンティアのセキュリティ課題であり、今後も進化し続けると予想されます。新たなレベルの知能と能力を実現するためには、テクノロジー、社会、そしてリスク緩和戦略が共に進化する必要があります。2000年代初頭のコンピューターウイルスと同様に、プロンプトインジェクションの脅威とそのリスクへの対処法を理解することが重要です。これにより、私たち全員がこの技術を安全に活用できるようになります。AI やユーザーに代わって行動するエージェント機能を使用する際は、常に意識を持ち慎重に行動することで、データの安全性を高めることができます。

組み込み機能を利用して、機密データへのアクセスを制限します。

可能な限り、エージェントがタスクを完了するために必要な機密データや認証情報にのみアクセスできるように制限してください。たとえば、ChatGPT Atlas のエージェントモードを使用して休暇のリサーチを行う際、エージェントが調査のみを行い、ログイン状態でのアクセスが不要であれば、「ログアウト」モードを使用してください。

エージェントが確認を求めたときは、それが正しい行動であるかを慎重に確認してください

多くの場合、購入の完了やメールの送信など、影響の大きい特定のアクションを実行する前に、最終確認を求めるようにエージェントを設計します。エージェントがアクションの確認を求めたときは、そのアクションが正しいかどうか、またそのコンテキストで共有される情報が適切かどうかを注意深く確認してください。

エージェントが銀行のような機密性の高いサイトで動作している際には、作業を実行する様子を監視します。これは、自動運転車をハンドルから手を話さずに監視することに似ています。

可能な限り、エージェントに明確な指示を与える

「メールを確認して必要なアクションを取る」といった非常に大まかな指示をエージェントに与えると、機密性の高いアクションを実行する前に確認するように設計されているにもかかわらず、隠れた悪意のあるコンテンツがモデルを誤誘導しやすくなります。

エージェントには特定の指示を与え、メールなど外部からの有害な指示に従う可能性を避けるため、広範な裁量を与えない方が安全です。これによって攻撃が発生しないことが保証されるわけではありませんが、攻撃者が成功することが難しくなります。

情報を常に把握し、セキュリティのベストプラクティスを遵守してください。

AI 技術が進化するにつれて、新たなリスクと安全対策が生まれます。OpenAI や他の信頼できる情報源からの更新情報をフォローして、ベストプラクティスを学びましょう。

今後の取り組み

プロンプトインジェクションは依然としてフロンティアの研究課題であり、ウェブ上の従来の詐欺と同様に、私たちの取り組みは継続的なものになると予想しています。この手法が攻撃者に広く採用されていることはまだ確認されていませんが、敵対者は AI をこうした攻撃に引っかける方法を見つけるために、多大な時間とリソースを費やすと予想されます。当社は、製品の安全性を確保し、このリスクに対する AI の堅牢性を高めるための研究に、引き続き多額の投資を行っています。この分野におけるセキュリティ作業の進捗を含め、さらなる情報が得られ次第、最新情報を共有していきます。たとえば、私たちは、AI がインターネットと通信する際に、会話の情報が送信されるかどうかをどのように検知するかについて、詳細なレポートを近く公開する予定です。

私たちの目標は、これらのシステムを、セキュリティ意識の高い信頼できる同僚や友人と一緒に働くのと同じくらい信頼性が高く安全なものにすることです。実際の使用から学び続け、安全に反復し、技術の進歩に応じて学んだことを公開していきます。