世界を動かす技術を、日本語で。

OpenAI – 脆弱性の責任ある開示

概要

  • OpenAIの音声入力モデルで発生した「他人の会話が漏洩したように見える」バグの調査報告
  • 初動では本物の漏洩と誤認、後にOpenAIの技術説明で「幻覚生成」によるものと判明
  • 報告者は45日間の業界標準開示ウィンドウを守り、責任ある開示を実施
  • バグ報告・対応フローや透明性についての提言
  • 実際の個人情報漏洩は発生していないが、注意喚起と今後の改善要望

OpenAI音声入力モデルにおける「会話漏洩」誤認バグの調査報告

  • 2025年5月29日、 gpt-4o-transcribe モデル利用時に「他人の会話が見える」現象を発見
  • 音声ファイル(約1500秒)を送信した際、 本来の出力やエラーではなく、様々な言語や内容の会話文が返却される事象
  • 返却されたテキストには 実在しそうな会話・業務情報・コード 等が含まれていたため、 他ユーザーのデータ漏洩 と判断
  • 特に、 カザフスタンの実在企業に関する財務分析(Cyrillic表記) 等が含まれていたことが誤認の決定打

技術的原因とOpenAIの説明

  • OpenAIの調査により、 音声入力がモデルのトークン上限を超えた場合、空クエリとして扱われるバグ が判明
  • 空クエリの場合、 LLMがランダムなトークンから生成を開始 し、 一見意味のある文章やデータを「幻覚」生成 する挙動
  • 生成された数値や内容は 現実と一致せず、完全な合成データ であることが確認
  • 明示的なエラー表示がなかった ため、入力が空になっていることに気づけなかった点が誤認の要因
  • 2025年7月16日、OpenAIから 技術的説明とバグ修正済みの連絡 を受領

セキュリティ報告・開示プロセスへの提言

  • 報告者は 暗号化メールで公式窓口へ報告、自動返信のみで 45日間人間対応なし
  • OpenAIのバグバウンティポータルでは 開示後の情報公開を一切認めない規約 があり、 研究者の透明性確保と相反
  • Googleなど他社は 修正後の公開を推奨 し、 責任ある開示文化 を形成
  • セキュリティ対応のSLO(サービスレベル目標)明記3-5営業日以内の有人対応, 第三者ペンテストの定期実施 などを推奨
  • 善意の研究者への報奨情報公開の自由 の確保を要望

ユーザー・企業への注意喚起と今後の対応

  • 公式な修正・アドバイザリ発表まで、OpenAIへの機密情報入力は控える ことを推奨
  • データ分離機能の活用個人情報の削除セキュリティページの監視 を推奨
  • OpenAIセキュリティチームとの連携・パッチ検証協力の意思表明
  • 「AIモデルの成熟度≠セキュリティ成熟度」 という教訓と、 透明性の重要性 を強調

経緯の時系列まとめ

  • 5月29日 :異常を発見し、即日暗号化メールで報告。自動返信のみ
  • 6月10日 :フォローアップメール送信。依然として有人対応なし
  • 7月15日 :Hacker Newsで注意喚起を公開
  • 7月16日 :OpenAIから技術的説明と修正済みの連絡を受領

github/proton/gmail/X/whatever: requilence PGP Key: 6F2F DC1B 8626 B240 72DB 69D6 F07A 7D55 A268 4852 keybase.io/requilence

Hackerたちの意見

OpenAIに、他のユーザーのチャットレスポンスが見えるバグを報告したんだけど、5月29日に自動返信が来てからは音沙汰なし。問題はまだ修正されてない :( バグバウンティは、修正後でも開示を禁止する永久的なNDAがあるから避けたよ。標準の45日間の開示ウィンドウに従って、ユーザーはこれが解決するまで敏感なデータを共有しない方がいいね。

よくやったね、すごく合理的だし、ルールに従ってる感じ。

NDAの部分は本当に曖昧だね。

それって、空の文字列でAPIを呼び出すとランダムな幻覚が返ってくる「機能」じゃないの? https://jarbon.medium.com/gpt-prompt-bug-94322a96c574

永久的なNDA?うわ、それはきついね。まるで、ASIに到達するまで蓋を強引に押さえつけようとしてるみたいだね(笑)

ユーザーは常に敏感なデータの共有を避けるべきだよ。多くのAI製品は、会社の誰でも見れるプレーンテキストのログがそのままあるからね。

ジェミニのダッシュボードで他のユーザーの会話が見えるんだけど、誰に文句言えばいいのか分からない。最近のソフトウェアの質は…最小限だね。

https://archive.is/mYehH

一つの設定ミスで、数千の敏感な会話が数秒で漏れる可能性がある。プライバシーを後回しにするのは、この影響範囲が大きすぎて無理だよ。大きなセキュリティバグ、よく見つけたね。まるでバンク・オブ・アメリカが他の人に私の取引を見せるようなもので、Metaが私のWhatsAppメッセージを漏らすみたいだ。これはセキュリティについて深刻な疑問を投げかけるね。

どのメールボックスに送ったのか気になるな。メールボックスを探すのって、意外と難しいんだよね、Googleで調べても。

彼らのドメインにはsecurity.txtファイルがあって、他の場所でも言及されてたよ。

企業のバグバウンティプラットフォームの厳しい条件を拒否するハッカーが増えてきてるのはいいね。俺だったら、勝つチャンスのために無期限のNDAにはサインしないよ。平均報酬は836.36ドルだし。OpenAIは感謝すべきだよ、だって彼らは情報を無料にしたいんだから。

漏洩した応答は、実際の会話の明確な兆候を示している。文脈に適した返答から始まり、時には元のユーザーの質問に言及し、さまざまな言語で現れ、一貫した会話の流れを維持している。このパターンはランダムなモデルの幻覚とは一致せず、誤ったユーザーセッションから期待されるものと完全に一致する。GPT-4oのようなモデルは、実際のユーザーインタラクションと区別がつかない応答を幻覚することができる。自分で確認するのは簡単だよ。適当に作ってみるように頼んでみて。OpenAIが実際のユーザーメッセージを漏洩させていると信じる用意はあるけど、これはその主張の証拠にはならないね。

うん、もっと情報がないとどう反応すればいいかわからないな。

その応答の一つには、小さな国にあるあまり知られていない非ラテン名の会社の財務分析が含まれてた。俺はその会社を見つけたけど、実在してるし、応答の数字も本物だよ。ChatGPTにその会社の財務報告をウェブツールを使わずに提供してもらったら、こう返ってきたんだ:残念ながら、私のトレーニングデータには「xxx」の2021年と2022年の具体的な財務諸表が含まれていません。ウェブ検索を使わないように頼まれたので、リアルタイムで引き出すことはできません。

GPT-4oの書き方はすごく独特だから、ユーザーの質問を偽造するのは難しいと思う。AIを使ってる人は一目でわかるよ。「深く掘り下げる」って言わなくなったけど、「XじゃなくてYだ」とか「雰囲気をチェックして(変な絵文字の連続)」みたいなことはずっと言ってる。

Mailgunで深刻な問題を見つけた時を思い出すな。メッセージ送ったけど、返事なし。Twitterをスパムみたいに使ってやっと返事が来た。基本的に、ユーザーの知らないうちに大量のAPIキーを盗めたかもしれないのに、Mailgunはそれを開示しなかったんだ。もし細かく言うつもりなら、実際にオフィスに行くこともできたけど、実際にはかなり変なオフィススペースに見えたよ(笑)。

報告されたセキュリティ問題の公開は、バグが報告者以外によって悪用された証拠が見つからない限り、あまり一般的じゃないと思う。やるべきことではあるけど、報告されるものの大半は公開されないんじゃないかな。消費者向けや商用ソフトウェアのように「オンプレミス」で更新が必要なものは別だけどね。

限定的で非技術的な開示を行います: > ここにはエクスプロイトコード、概念実証、または再現手順は含まれていません。じゃあ、なんでやるの?ちょっと皮肉に聞こえるかもしれないけど、もし目標がこれを修正させることなら、ゼロデイになって一般に知られない限り、彼らは気にしないだろうね。そうでなければ、知っている少数の悪質なグループによって静かに悪用され続けて、決してパッチが当たらないだろう。責任ある開示の目的は、実際の公開前にこれを解決するためのタイムクロックを与えることじゃないの?もし間違ってたらごめん、長い間その分野にはいなかったから。

これは、HNのトップに何かを持っていくことでGoogleのサポートを得るのと同じセキュリティの話だね。この投稿の本当のターゲットはOpenAIで、君じゃないよ。

ちょっとプレッシャーがかかるね。バグが何か分かったから、どのエンドポイントを攻撃すればいいか予想できるし、あとは漏れるのを待つだけだ。研究者がそれをそのまま公開するのは倫理的じゃないよ。

PGPキー: 1234 5678 9ABC DEF0 1234 5678 9ABC DEF0 1234 5678 マジで?少なくとも https://keybase.io/requilence のやつとは合ってないね。

みんな、こんにちは。私はOpenAIでセキュリティの仕事をしています。この報告について調査しましたが、モデルの応答には他のユーザーの出力は含まれておらず、セキュリティの脆弱性や侵害、悪用も反映されていません。元々の報告は、音声転写APIに1500秒近く(でもちょっと足りない)メッセージを送ると、他の誰かの質問に対する返信のように見える変な、無関係な、話題外の応答が返ってくるというものでした。でも、実際にはそうなっていません。私たちのAPIにはバグがあって、音声のトークン化(音声の長さとは厳密には相関していない)が限界を超えると、全ての入力が切り捨てられて、モデルは実質的に空のクエリを受け取ります。私たちはこの問題を修正するためにAPIチームと連携していて、より有用なエラーメッセージを作成するよう努めています。モデルが空のクエリを受け取ると、ランダムなトークンを一つ選んで、次にまた別のトークン(最初のトークンに影響される)を選んで、さらにその次と続けて応答を生成します。応答が一貫性があるのは奇妙に思えるかもしれませんが、これは全てのLLMの動作の特徴なんです。前のトークンが次のトークンの確率に影響を与えるので、モデルは人間らしい言葉やフレーズ、コードなどを生成しますが、実際にはモデルの創作に過ぎません。この場合、出力がランダム(でもありそうな)場所から始まって、入力なしで応答が生成されたということです。私たちのテキストモデルも、空のクエリを送ると同じ動作をしますし、入力なしでオープンソースモデルを直接サンプリングしてみることもできます。この件については少し時間がかかりましたが、私たちの目標は報告に対して合理的な応答を提供することです。もしセキュリティの脆弱性を見つけた場合は、私たちのバグバウンティプログラムを通じて報告することをお勧めします: https://bugcrowd.com/engagements/openai。

セキュリティの脆弱性を見つけた場合は、私たちのバグバウンティプログラムを通じて報告することをお勧めします そのプログラムを通じてバグや問題を報告すると、報告した問題が修正された後に開示を禁止する永久的なNDAにサインさせられるみたいだね。この開示の著者だけじゃなくて、他にもNDAのせいで避けてる人がいると思うけど、それについて再考することはできるかな?そうしないと、これからも人々がこういうことを公に開示し続けるだろうし、OpenAIのユーザーとしては面倒なアプローチに感じるよ。

ありがとう、あなたの説明を元に元の投稿を更新したよ。それに、出力が完全なハルシネーションだって言ってたから、その一つも添付した。