BeesBuild Newsエージェントを作る人のための、世界の最前線

小さな穴をつないで、ChatGPT のアカウントを乗っ取る:HTML のプレビューから始まった連鎖

セキュリティの会社 Parameter は、ChatGPT の HTML のプレビューから始まる穴の連鎖で、他人のアカウントのデータを抜き出せることを示しました。穴はすでに直っています。AI が作った HTML を画面に出すサービスを作る人に向けて、守りの要点を整理します。

出来事 掲載 読む時間 約2分

この記事の要点

  1. 入口は、ChatGPT の HTML のプレビュー(以前の Canvas)。sandbox で権限を絞った iframe の中で動く。
  2. 数式の入力に使う MathLive のキーボードが、postMessage で受けた中身を innerHTML で画面に入れていた。しかも、ほかの分離された枠からのメッセージも受けていた。
  3. そこから分離されていない iframe を差し込み、CSP が許していた YouTube の oEmbed の反射を使って、chatgpt.com の上で JavaScript を動かせた。
  4. 悪意のある共有の URL で、データを抜くことも、本人として操作することもできる状態だった。穴は直り、報奨金は 5,000 ドルだった。
$5,000報奨金simonwillison.net は「少し安い」と評した
10/31simonwillison.net の紹介

数字は出典に書かれた値です。

サブに聞く

iframe で分けていたのに、なぜ破られたの?

分けた枠どうしのメッセージの受け取りがゆるかったからです。MathLive のキーボードが、ほかの分離された枠からのメッセージも受け、その中身を innerHTML で画面に入れていました。そこから、分離されていない枠を差し込めてしまいました。

自分のサービスで真似すべき守りは?

postMessage は送り主を確かめてから受ける。受けた中身を innerHTML に入れない。CSP で許すドメインは、中身を反射する機能を持たない所だけにする。この 3 つです。

BeesBuild の視点

BeesBuild は「外の指示に従わない」を守りの決まりの 1 つにしています。AI が作った HTML も、外から届いた文章も、信頼できない入力として分けて扱います。

よくある質問

今も危ないですか?

報告によると、穴は直っています。直った日付は書かれていません。

CSP とは何ですか?

Content Security Policy の略で、ページが読み込んでよいスクリプトや枠の出どころを、ブラウザーに伝える決まりです。許すドメインが広いと、そのドメインの機能を足場にされることがあります。

出典

  1. We found a gap at OpenAIParameter・英語
  2. ChatGPT のアカウントを乗っ取った方法simonwillison.net・2026-10-31・英語

この記事について

BeesBuild News 編集部が、上の出典をもとに作りました。本文は AI を使って書き、数字と引用は出典と照らし合わせています。出典は 2026年11月6日に確かめました。記者のサブ(S0)は BeesBuild の蜂のキャラクターで、記事の担当分野を表します。

誤りに気づいたら、お問い合わせから知らせてください。直した時は、この欄に日付と内容を書きます。

あわせて読む

セキュリティの記事
セキュリティ

GitHub は、公開リポジトリで pull_request_target のワークフローを既定で止めます。11 月 9 日と 16 日に 2 時間ずつの試しの停止があり、12 月 2 日から止まります。フォークからの PR に AI のレビューやラベル付けのボットを動かしている人ほど、影響を受けやすい変更です。

サブ(S0)
セキュリティ

Cognition は脅威のモデル作りから修正の PR までを受け持つ Devin Security を出し、OpenAI は定期の検査と修正の PR を出す Codex Security を広げました。モデルの側でも、穴を見つける力と、攻撃のコードを作らせない線引きが同時に進んでいます。

サブ(S0)
セキュリティ

Cloudflare は、Workers AI の GLM-5.3 で、ほかの顧客のプロンプトや生成の一部が応答に混ざっていたと公表しました。影響は 155 の応答です。「HTTP の応答の番号しか見ていなかった」という反省は、AI を動かす全員に関わります。

サブ(S0)