ChatGPTの共有リンクにアクセスするだけで乗っ取られる脆弱性、修正済み

閲覧者の非公開会話まで作成者が読み出せた脆弱性

悪意のある共有リンクを開くと、作成者のコードが開いた人のChatGPTで動作し、共有していない非公開の会話まで読み出して外部へ送信できる状態でした。 Parameterは2026年10月28日にこの脆弱性を発表しました。ChatGPTの公開共有リンクを開いた人がログインしているChatGPTで、作成者が用意したJavaScriptを動作させられたとのこと。

リンクの作成者がすることは、悪意のある会話を作ってChatGPTの共有機能で公開し、そのリンクを相手に共有するだけです。共有リンクはメールやチャットのほか、サポートへの問い合わせやSNSの投稿でも、普通の共有会話と同じように届けることができたとのこと。他の経路によるAIツールの乗っ取りも、すでに報告されています。

被害者側はリンクにアクセスしただけ

アプリのインストールやコードの貼り付けは必要なく、最終的にはリンクを開くだけで攻撃が始まるところまで再現されました。 Parameterによると、被害者はアプリのインストールも、作成者のワークスペースへの参加も必要なかったとのこと。

Parameterは操作の異なる2つの手順で再現しています。最も安定した手順では、リンクを開いたあとにChatGPTの「プレビュー」ボタンを1回押す必要がありました。

その後、会話のHTMLが自動でプレビューされるように指定したことで、リンクを開く以外の行為は必要なくなりました。自動で開く手順は別のアカウントで3回再現され、約4.5秒でコードが動作したことを表すダイアログが出たとのこと。

仕込まれたコードは閲覧者のアカウントで動作

コードは開いた人本人としてChatGPTの機能を直接呼び出せたため、会話一覧の取得から外部サーバーへの送信まで事実上どんな操作もできる状態でした。 Parameterがこのコードで試した動作は次の3つです。

  • 会話一覧の取得
  • 作成者に共有されたことのない非公開会話の読み出し
  • 読み出した内容を外部サーバーへ送信

会話一覧の取得では、直近の会話20件を取得する指定でした。業務の相談や個人的な悩みをChatGPTに書いている人ほど、読まれて困る内容が会話に残っていることになります。

Parameter Labsの記事ページ上部。Do the Math: How We Took Over ChatGPT Accountsという題と、2026年10月28日の公開日、修正日October 26, 2026と深刻度P1が表示されている
Parameterが10月28日に公開した記事の上部です。修正日の10月26日と、深刻度P1が題の下に掲載されています。Parameter Labs Do the Math: How We Took Over ChatGPT Accounts(2026年10月28日)
"it could directly call ChatGPT's authenticated APIs as the victim, essentially allowing us to take over the victim's ChatGPT account." / "The victim did not need to install anything, join the attacker's workspace, or authenticate through an attacker-controlled flow." / "We reproduced the automatic path three times in a separate account, including after a hard refresh, with the alert appearing after roughly 4.5 seconds." — 冒頭と「Delivery」の節より
公式情報を見る →

原因はグラフ表示とプレビュー機能の組み合わせ

プレビュー機能の隔離は破られておらず、同じ会話のグラフが読み込んだ数式ライブラリが他の画面からのメッセージを送信元を問わず受け付けたことが入口でした。 ChatGPTのプレビュー機能は、HTMLのコードを小さなWebページとして動作させる機能です。中身は別のWebアドレスにある制限付きの領域で動作するため、ChatGPT本体のページを読むことはできません。

同じ会話にグラフがあると、グラフを描くための数式ライブラリ「MathLive」がChatGPT本体のページに読み込まれます。MathLiveは、画面上のキーボードについてのメッセージを受け付ける受け口を置いていました。プレビュー側からこの受け口へメッセージを送信できたことが、隔離をまたぐ道になりました。

数式ライブラリが送信元を問わずメッセージを受け付ける

MathLiveの受け口は送信元をチェックせず、届いたHTMLをそのままChatGPT本体のページに差し込んでいました。 HTMLは、画面キーボードの配置データとして受け付けられていました。

差し込まれたHTMLからは、制限のない埋め込み画面(iframe)が作られました。この埋め込み画面はchatgpt.comのページと同じ権限を持っていました。

さらにChatGPTは、YouTubeが配信するスクリプトの読み込みを許可していたため、YouTubeが出力する応答を使って、仕込んだコードを実行できたとしています。

グラフ表示もプレビューも単独では問題のない機能

Parameterは、どの機能も単独では妥当な作りで、1つのページで組み合わさったときにだけ脆弱性が生じたとしています。 プレビューは隔離されており、グラフが数式のキーボードを読み込むことも、埋め込み画面同士がメッセージをやり取りすることも、それぞれは普通の作りです。

YouTubeの応答はスクリプトの読み込み制限をくぐり抜ける最後の手段にすぎず、根本原因ではないとParameterは述べています。根本原因は次の3つです。

  • MathLiveが送信元をチェックせずに設定の変更を受け付けたこと
  • HTMLをキーボードの配置データとして受け付けたこと
  • そのHTMLが、chatgpt.comとして動作する制限のないページを作れたこと
"Its listener accepted a message that changed the virtual keyboard layout, and that layout was allowed to contain HTML." / "The YouTube response was the final workaround for CSP, not the root cause." / "The vulnerability appeared only when all of those features were combined in one page." — 「The bridge」「Root cause」の節より
公式情報を見る →

OpenAIは10月26日に修正、深刻度は最も高いP1

OpenAIは10月21日に問題を再現して深刻度を当初のP2から引き上げ、2系統あるWeb版を段階的に修正しました。 報奨金は合計5,000ドル(約78万6,300円)で、OpenAIは10月26日に問題を解決済みとしています。

Parameterは10月18日に、OpenAIのバグ報奨金プログラムへ報告していました。修正はOpenAI側でChatGPTのWeb版に適用され、ユーザー自身で何かを更新する必要があるとは、Parameterは報告で言及していません。

報告から修正までの経緯は?

10月18日の報告を受けて、OpenAIは10月26日に2系統あるWeb版の両方で修正を完了しました。 Parameterが公開した経緯は次のとおりです。

報告から修正までの経緯(Parameterの発表より)

日付 出来事
10月13日 ParameterがChatGPTの本番環境で、MathLiveからHTMLに至る経路を特定
10月14日 通常の画面操作で一連の手順を再現し、任意のJavaScriptの実行まで到達
10月16日 別のアカウント間で、共有リンクによる攻撃の成立を実証(プレビューを1回押す手順)
10月17日 共有リンクを開くだけでプレビューが自動で開く手順を実証
10月18日 OpenAIのバグ報奨金プログラムへ報告
10月19日 非公開会話内容を外部へ送信できることの証明を追加
10月21日 OpenAIが問題を再現し、深刻度をP2からP1へ引き上げ
10月22日 OpenAIがWeb版2系統のうち1つを修正
10月23日 OpenAIがスクリプトの読み込み制限(CSP)を変更し、攻撃の一部を遮断
10月26日 OpenAIが2系統とも修正済みと判定して解決済みに変更し、報奨金を支払い
10月28日 Parameterが詳細を公開

Web版は2系統あり、22日時点では1系統が更新待ちでした。23日の設定変更で攻撃の一部は止まりましたが、すべての経路がふさがったのは26日です。Parameterが詳細を公開したのは、修正が完了したあとの10月28日です。

悪用の有無はParameterの報告からは分からない

Parameterの報告には、実際のユーザーが被害に遭ったかどうかの記述がありません。 報告にある内容は、Parameter自身のアカウントでの検証結果と、OpenAIが修正するまでの経緯です。

Parameterは検証のとき、外部へ送信する量を応答のごく一部に限定したとしています。ただし、仕込まれたコードは会話内容そのものを受け取って読めていたため、脆弱性の影響は送信した分に限られないとも述べています。修正より前に誰かが同じ手口を使ったかどうかは、この報告からは判断できません。

"OpenAI reproduced the issue; severity was raised from the initial P2 triage to P1." / "OpenAI confirmed both frontends rejected the reported messages, resolved the issue, and awarded a total bounty of $5,000." / "We deliberately sent only a small piece of the response off-site." — 「Timeline」「Proof」の節より
公式情報を見る →

今すぐできる対策

脆弱性そのものはOpenAIが修正しましたが、ChatGPTに書いた内容が会話として残ることと、届いたリンクを開いてしまう可能性は変わりません。 個人情報保護委員会は生成AIに入力する情報を確認するよう、警察庁は届いたリンクを安易に開かないよう呼びかけています。

個人情報保護委員会は2023年6月2日、生成AIサービスの利用について事業者とユーザーに注意喚起を出しました。警察庁はフィッシング対策のページで、メールやSMSのリンクをクリックしないよう呼びかけています。

会社側:ChatGPTに入力してよい情報の範囲を定める

顧客の個人データや社外秘の資料をChatGPTに入力してよいかを社内で定めておけば、会話が読み出されたときに失う情報を小さくできます。 事業者が個人情報を含む内容を生成AIに入力するなら、利用目的に必要な範囲かを確認し、提供事業者が機械学習に利用しないことも確認する必要があります。

今回の脆弱性では、会話に残っていた内容がそのまま読み出しの対象になりました。本人の同意なく個人データを入力し、応答以外の目的で利用された場合は、個人情報保護法に違反する可能性があるとのこと。一般のユーザーも、利用規約やプライバシーポリシーを確認し、入力する情報の内容をふまえて利用を判断する必要があります。

個人情報保護委員会の文書の1ページ目。生成AIサービスの利用に関する注意喚起等という題と、令和5年6月2日の日付、個人情報保護委員会の名義が表示されている
個人情報保護委員会が2023年6月2日に公表した注意喚起の1ページ目です。事業者向けの注意点は、2ページ目の(1)に掲載されています。個人情報保護委員会 生成AIサービスの利用に関する注意喚起等(2023年6月2日)
"当該生成 AI サービスを提供する事業者が、当該個人データを機械学習に利用しないこと等を十分に確認すること。" / "利用規約やプライバシーポリシー等を十分に確認し、入力する情報の内容等を踏まえ、生成 AI サービスの利用について適切に判断すること。" — 「個人情報取扱事業者における注意点」「一般の利用者における注意点」より
公式情報を見る →

社員側:知らない相手から届いたリンクはアクセス前にチェック

知らない相手からChatGPTの共有リンクが届いたら、開く前に差出人と共有された理由をチェックしましょう。 今回のリンクは正規のchatgpt.com共有ページだったため、見た目やドメインでは安全かどうか判断できませんでした。

メールリンクは偽装できるうえ、見た目でリンクが本物かを判断することは非常に困難です。公式サイトをブックマークに登録しておき、ブックマークから接続すれば、偽装されたリンクを経由せずに接続できます。

警察庁のWebサイトのフィッシング対策のページ。題の下に、フィッシングとは・被害防止対策などの目次と、フィッシングの説明が表示されている
警察庁のフィッシング対策のページです。メールやSMSのリンクをクリックしない呼びかけは、被害防止対策の項に掲載されています。警察庁 フィッシング対策
"見た目でリンクの真偽を判断することは非常に困難です。" / "電子メールやSMS内のリンクを安易にクリックせず、あらかじめ公式サイトを「お気に入り」や「ブックマーク」に登録しておいたり、公式アプリを活用するなどして正しいサイトに接続するようにしてください。" — 「電子メールやSMSに記載されているリンクはクリックしない」より
公式情報を見る →

FAQ

ChatGPTの共有リンクは今も開いて大丈夫ですか?
今回の手口については心配ありません。OpenAIが10月26日に修正を完了しており、Parameterによると、OpenAIはWeb版の2系統とも問題のメッセージを拒否することを確認し、解決済みと判定したとのこと。ただし知らない相手から届いたリンクは、開く前に差出人を確認しておきましょう。
共有リンクを開いた人は何をされる可能性がありましたか?
会話の一覧を取得され、作成者に共有したことのない非公開会話内容まで読み出されて、外部のサーバーへ送信される可能性がありました。仕込まれたコードは開いた人本人としてChatGPTの機能を直接呼び出せたため、Parameterはアカウントを事実上乗っ取れたとしています。
アプリをインストールしたりボタンを押したりしなくても被害に遭いましたか?
Parameterの再現では、アプリのインストールも作成者のワークスペースへの参加も必要ありませんでした。最も安定した手順ではプレビューのボタンを1回押す必要がありましたが、その後会話のHTMLが自動でプレビューされるように指定したことで、必要な行為はリンクを開くことだけになったとのこと。