3月20日から翌21日にかけて ChatGPT サービスの緊急停止を招いた情報漏洩バグについて、OpenAI が詳細を発表しました。
一部ユーザーから報告があった、他ユーザーの会話履歴の一部が見えてしまう問題に加え、氏名・住所・クレジットカード番号の一部なども漏洩していた可能性があります。
OpenAI はChatGPT を停止させ問題に対処したほか、影響を受けた可能性のあるユーザーを特定し連絡済みとしています。
日本時間で3月20日から翌21日にかけて発生していた問題は、
他ユーザーの会話履歴のタイトルが見えてしまう場合がある
他ユーザーの新規チャットの最初のメッセージが見えてしまう場合がある(同時にアクティブな別ユーザーの会話のみ)
サブスクリプション確認メールが誤ったユーザーに届き、登録クレジットカード番号の下4桁が含まれていた可能性がある
ChatGPT Plus加入者が「My account」「Manage my subscription」を開いたとき、他ユーザーの氏名・メールアドレス・支払い住所・クレジットカード番号の下4桁が含まれていた可能性がある
いずれの場合でも、クレジットカード番号全体は漏洩していません。
またメールやマイアカウントから支払情報の一部が漏洩する場合、3月20日より以前にも発生していた可能性があるものの、OpenAIでは実際の例を確認できていません。
OpenAI によると、今回の情報漏洩の原因はデータベース (データストア) に使用しているオープンソースソフトウェア Redis に一定の条件で発生するバグ。
ざっくり言うと、
ChatGPTでは大量のトラフィックを処理するためクラスターで Redis を使っているが、サーバ間・クラスター間通信が特定タイミングでキャンセルされる条件下で「迷子メッセージ」が発生することがあった
通常はこの迷子メッセージはエラーとして処理されるが、たまたま本来とは違うリクエストとマッチして誤った宛先に届いてしまうバグがあった
3月20日に導入したサーバ上の変更でこのリクエストのキャンセルが大量に発生したため、宛先を間違ってデータが届いてしまう可能性も増えた
発生するのは Redis クラスターでAsyncio redis-py クライアントを使っていた場合のみ、かつ現在は修正済み。
上記のような状況で発生するバグであったことから、ほかユーザーの会話の最初のメッセージが見えてしまう現象、支払い関連の情報が見えてしまう現象は「3月20日から21日にかけての9時間のあいだに、同時にアクティブだったユーザー間」でのみ発生していた可能性があります。
OpenAI によると、支払情報の一部が漏洩した可能性があるのは ChatGPT Plus ユーザーの最大1.2%。
「AIのバグ」というよりはサービスで使われるソフトウェアの一部のバグではありますが、ChatGPT の会話を扱う根幹部分で発生した不具合であることから「OpenAIが運営するChatGPTサービス」のバグであることは変わりません。