BLOG

チャットボットに広告ネットワークが掛かった:ChatGPT はあなたの跨サイト行動を広告プロファイルに接続している

Kael Zhang
ChatGPTプライバシー広告技術OpenAI
广告 · Advertisement

ホットトラック:ホット公開 × 技術的判断 × 実用的アドバイス。 著者:永亮


まず時間を固定する。9月20日、独立研究者が個人ブログ buchodi.com に1つの公開記事を投稿した:ChatGPT が広告収集装置(ad collector)を通じて、ユーザーの第三者サイト上での行動を ChatGPT アカウントに直接紐づけていると。記事はその日に Hacker News の1ページ目に載り、555の支持票、303件のコメント、議論は何層にも及んだ。今回は初回公開後48時間のウィンドウ内で執筆されている。この仕組み自体は広告技術の分野では新しいものではなく、新しいのはそれがどこで動いているか——人々が吐露に使う製品の上で動いているか——である。以下の事実は公開側の主張に基づき、公式ポリシーページの一部は独立して検証済み。

何が起きたか

口径通りに事実を並べる。すべて公開原文と OpenAI 公式ポリシーページに基づく。

研究者は自身のスマートフォンで一連のフローを再現し、2種類のパケットキャプチャ手法で交差検証したと主張しており、数ヶ月にわたるトラフィック観測は936の広告主ピクセル、1029のドメインをカバーしている。フローを分解すると以下の通り:

第一段階:ChatGPT クライアントが16バイトの乱数を生成し、サーバー側で RS256 署名の JWT を取得する。有効期限は60秒で、同意ポリシーバージョン(user_granular_consent_v1)とアカウント識別子が含まれている。第二段階:サーバーが __obi という名前の cookie を設定する:openai.com 一次ドメインに設定され、HttpOnly、SameSite は none、Secure、有効期限は1年。詳しい人ならこの3つの特徴を見て理解できるだろう:HttpOnly はスクリプトでは読み取れないがブラウザは自動的に付帯する、SameSite=none は跨サイトリクエストもそのまま送信される、1年の有効期限は使い切りのセッションマーカーではなく長期的な身份の錨であることを意味する。3つの特徴が組み合わさり、跨サイトで保持されることを決定づけている。

広告主側は、ウェブサイトに OpenAI のピクセル SDK——Meta や Google のトラッキングコードと同じ種類のもの——を設置するだけでよく、ユーザーがページを開けばブラウザが自動的に cookie を付帯して OpenAI に送信する。このステップで広告主がコードを書く必要はなく、SDK が動く前からブラウザがすでに認証情報を付帯している。公開側の原話の意味は、コードパス上で積極的に送信しなくても、ブラウザの自動付帯を止めることはできないということである。

SDK が報告するのは広告イベントだけではない:観測トラフィックにおいて、「スクレイピングによる取得」は685回、「広告主による積極的な提供」はわずか255回——つまり、6割以上の身元情報は SDK が自らページから取得したものであり、広告主が入力したものではない。取得の出所には Google トラッキングコードマネージャーのデータレイヤーが含まれ、SDK はまず変数名を書き換えてから、このリネーム後のデータを解析する。8月27日にリリースされた v0.1.31 は範囲を絞り込み、それ以前のバージョンでは氏名や地理位置も取得していた。現在のやり方は:メールアドレスと電話番号は SHA-256 でハッシュ化して送信、国名・地域・都市・郵便番号は平文で送信しており、郵便番号が最も多く収穫されたフォーム項目——28のサイト、100回のイベント。

URL レベルではリファラとパスのみを送信し、クエリストリングは送信しない。観測された23,929回のうちクエリパラメータを伴うものは1回もなかった。しかしパス自体が情報である:観測されたパスにはある医療上の病名、ある借金解決のファネル、ある訴訟受理フォームが含まれていた。

「自動マッチング」機能は、設定を確認できた881のピクセルのうち638個が有効であり、観測されたすべての信用系広告主をカバーしている。スイッチは OpenAI Ads Manager で制御される。自動マッチングとは、広告主が既に持つ顧客リストとピクセルが収集した訪問者の識別子を接続する仕組みである:広告主はあなたが誰かを知る必要はなく、リストが一致すれば広告システムが誰に何を投げるかを判断する。この機能が信用・融資系広告主で全開であることは、それ自体が物語っている——この種のビジネスのコンバージョンは、まさに個人レベルの正確な識別に最も依存しているのだ。

除外リストは確かに存在する:パスワード、ワンタイム認証コード、カード番号、社会保険番号、生年月日、病歴と診断、裁判関連のフィールドがすべてリストに含まれている。リストの存在は設計者が境界について思考を巡らせたことを示す。しかしリストの外で何を取得し、ページのパスが何を漏らしているかは、リストでは届かない。

どの企業が使っているか? 公開側は12の商業サイト、13のピクセル ID を列挙し、名前は見覚えがある:Chewy、Wayfair、ThriftBooks、Eventbrite、HelloFresh、Coursera、SeatGeek。

匿名識別子とログイン識別子は同じくらい安定している:1デバイスに1つ、少なくとも27日間持続。デコードされた同期トークン932個のうち736個がアカウント識別子を保持している。研究者は ChatGPT セッションの約5分の1が同期トークンを生成すると推定している。モバイルウェブ版では cookie を設定しなくても広告を出せる。

仕組みは古い、位置が新しい

公開著者自身の判断は控えめである:Meta は何年も前に構造的に等価なシステムを構築しており、これは標準的な広告技術。まだ precedent がないのは、それを AI チャット製品の上で動かしたことである。

この「位置」の違いがどこにあるか、掘り下げて説明する価値がある。SNS では、ユーザーはもともと自分が見られていることを前提にしている:投稿するすべてのコンテンツ、いいねするすべてはプロファイルに素材を加えるものであり、心理的なアカウントは公開的である。朋友圈で言わないことは、もともと朋友圈に投稿しない——この境界は製品の形が代わりに描いてくれる。チャットボットはこの境界を壊した。人々は対話ボックスに、どの SNS にも投稿したくないもの——病状、借金、訴訟、離婚、あるいは誰にも言えない一言——を入力する。人々がこの製品にデフォルトで持つ理解は:これは秘密の空間であり、向こうにいるのはあなたを覚えない、ましてやあなたを換金などしないツールである。

そしてこの収集装置が行っていることは、この秘密の空間での行動を、公開的な広告システムの身份照合に接続することである。対話ボックスで何を言ったかは広告側が直接手に入れるとは限らない。しかし別の場所——医療サイト、借金相談ページ、法律文書ページ——での行動が、同じアカウント識別子で串に刺される。同じ企業群が、あなたが他のサイトで何の商品を検索したか、何の記事を読んだか、購入したかどうかを手に入れる。2つのデータが必ずしも平文で統合されるわけではないが、識別子は同じであり、広告システムは統合しなくても使える。これが「位置」の殺傷力である:ユーザーは互いに関係のない2つの空間で活動していると思っているのに、システムは同じ1人を見ている。

公式の口径が合わない

2つ目の落とし穴は OpenAI 自身のポリシーページにある。

OpenAI の Cookie Policy において、__obi は白纸黒字で Analytics セクションに列挙されている:ドメインは OpenAI、有効期限は1年、そして当該セクション唯一の1項目である。「分析」カテゴリ全体の中でただ1つ、ひとりでに Analytics の名を占めている。

同じページ上で、analytics と marketing は2つの独立した同意オプションである——ユーザーは設定で analytics のみにチェックし、marketing を拒否することができる。これはポリシーページ自身が提示する約束の構造である:2つの用途は分かれており、ユーザーの選択権は実際に存在する。

実際の行動と照合する:「分析」に分類されたこの識別子は、アカウント識別子を保持し、跨サイトで保持され、広告システムに供給され、観測されたすべての信用系広告主をカバーしている。marketing のみを拒否したユーザーは、ポリシーの理解上、広告系トラッキングを受けるべきではないが、__obi は同じように設定される。分類は analytics、用途は広告——その間には定義のゲームがあり、ポリシーの文章ではすべての単語が成立するが、組み立てた結果はポリシーが約束する用途と乖離している。

研究者はこの仕組みと2つの質問を OpenAI に送った:__obi は analytics cookie に分類されているのか? analytics のみに同意し marketing を拒否したユーザーは、それでもこれを受信するのか? サポートチームは受領を確認し、社内で伝達すると述べたが、2つの質問に対する回答はしなかった。記事執筆時点で OpenAI は正面から回答しておらず、著者は対応があれば記事を更新すると述べている。

分寸を保つ必要がある:この仕組みは現時点では「公開された情報に基づき、研究者が再現した」としか言えず、OpenAI は正面回答していない。規制当局がどのように定性するかはこれからのことである。しかし「公式の分類と実際の行動が合わない」という事実は、回答を待つ必要なく成立する——ポリシーページは公開された一次資料である。

コメント欄の声

HN の議論スレッドで、いくつかの判断が代表的だった。ある人は、OpenAI にまだ料金を払っているのに、このビジネスの一部になってしまったと述べた——Google や Facebook のユーザーは少なくともお金を払っていない。無料製品がデータを取るのは古くからのやり方だが、有料製品まで取るとなると味が違う、と。ある人は、この慣行は彼の著書では悪意あるソフトウェアに近いと述べた。問題は、人がそれを見えなければ怒れないことである:SDK はページの中に隠れ、cookie はブラウザの深くに眠り、ポップアップも通知もない。一般の人にはそもそも気づく術がない。Meta も同じことをするという話で誤魔化すと、すぐに誰かが返す:他人もやっている、どの事例も許されなくてはならない——悪の範囲を並べても、それは弁護ではない。また別の人は、OpenAI がこの目的のために Meta や Google の元従業員を大量に採用しており、同族の製品を作るのも意外ではない、と述べた。またある人はこれを「共有地の悲劇」に例えた——「この機能を作るにはまずスパイウェアを作る必要がある」と言うたびに、「もうそうなっているんだから」という返答が返ってきて、結果として底線が一度また一度とデフォルトに押し下げられていく。

一般ユーザーができること3つ

第一に、正しいブラウザに切り替えれば、半分以上は免疫になる。 Firefox はサードパーティ cookie をデフォルトでブロックしており、この同期はあなたに届かない。iOS 上のすべてのブラウザは WebKit エンジンであるため、同様に影響を受けない。この2つのプラットフォームでの免疫は偶然ではなく、エンジンレベルのデフォルトポリシーが遮っているからである。デスクトップ Chrome にはテストデータがないため、安全だと想定しない。メインで Chrome を使う場合は、サードパーティ cookie をブロックする拡張機能を導入すると効果は近い。

第二に、Cookie 同意では必要最小限のみにチェックする。 同意のポップアップが出たら、marketing は拒否し、analytics も閉じられるなら閉じる。公式には __obi は analytics に分類されているとしても、1つ少なければ1つ少ないデータを食う。ついでに承認した設定も確認し直す:多くのユーザーは初回ログインのときにすべてにチェックを入れたまま、その後は見直さない。権限ページには、自分も気づかないスイッチがずらりと並んでいることが多い。

第三に、AI 対話ボックスでは個人情報を入力しない。 アカウントパスワード、認証コード、身分証明書番号、病歴の詳細は、「AI に話しかけるだけだから大丈夫」という内容として入力しない。向こうにどのような収集装置が掛かっているかは不明であり、どのバージョンの SDK が動いているかもわからない。さらに現実的なのは、AI 製品がビジネスモデルを切り替える速度は、ユーザーが認識を更新する速度よりはるかに速いということだ。今日は「会話を広告に使わない」と約束しても、明日ポリシーページの一行が変われば、あなたが渡したものはすでに他者のサーバーにある。

まとめ

言行監査の結論:仕組みは新しいものではなく Meta と同じ。位置が新しい——チャットボットが新しい吐き出し場所となり、広告ネットワークがその穴に沿って掛かってきた。公式は __obi を analytics に分類し、研究者の2つの質問に正面回答していない。分類と実際の用途が合っていない。

この事態の分寸について、最後にもう1度述べる。公開側は現時点で1人のみ、再現も1台のスマートフォン上で完了している。これは監視下の有罪判決ではなく、今回のすべての記述は「公開された情報に基づき、研究者が再現した、公式は未回答」という位置に留まっている。ただし割引して聞いたとしても、2つの事実は確実である:ピクセル SDK は実際に存在し、ポリシーページの分類は白纸黒字である。今後注目すべき節目は2つある:OpenAI が2つの具体的な質問に正面回答するか——著者は対応があれば更新記事を書くと約束している——そして規制の口径——EU やアメリカ各州のプライバシー執行機関が立ち上げるかどうか、特にヨーロッパでは、このような同意メカニズムと GDPR の衝突は教科書的なものである。広告技術は precedent に事欠かない。AI チャット製品を普通のトラフィックの入口とみなす前に、まずユーザーが同意するかどうかを問うことが欠けている。この問いは OpenAI の頭上にだけではなく、AI 製品を広告システムに接続しようとしているすべての企業の頭上にもある。

参考資料

  • buchodi.com(2026-09-20):《ChatGPT now knows what you do on other websites via ad collector》——仕組み、データ、名が挙がる企業のリスト(詳細は公開側の主張に基づく)
  • Hacker News ディスカッションスレッド(id 49776729、2026-09-20):支持票555/コメント303、ユーザーの反応
  • OpenAI Cookie Policy(openai.com/policies/cookie-policy/):__obi は Analytics に分類、有効期限1年、analytics と marketing は別々の同意オプション
广告 · Advertisement

よくある質問

__obi cookie はなぜ危険なのか。3つの技術的特徴は何か?

3つの特徴が、跨サイトでの長期保持を可能にしている。第一に HttpOnly:ページのスクリプトでは読み取れないが、ブラウザはあらゆるリクエストで自動的に付帯する。第二に SameSite が none に設定されている:跨サイトリクエストもそのまま送信される。第三に有効期限が1年間:使い切りのセッションマーカーではない。3つの特徴が組み合わさり、openai.com 一次ドメインの下に長期的な身份の錨(アンカー)となった。観測データでは、デコードされた同期トークン932個のうち736個がアカウント識別子を保持しており、研究者は ChatGPT セッションの約5分の1が同期トークンを生成すると推定している。

「自動マッチング」とは何か。なぜ信用系広告主で全開になっているのか?

自動マッチングとは、広告主が既に持つ顧客リストとピクセルが収集した訪問者の識別子を接続する仕組みである:広告主はあなたが誰かを知る必要はなく、リストが一致すれば広告システムが誰に何を投げるかを判断する。設定を確認できた881のピクセルのうち638個が有効であり、観測されたすべての信用系広告主をカバーしている。この分布自体が物語っている:信用・融資系ビジネスのコンバージョンは、まさに個人レベルの正確な識別に最も依存しているのだ。SDK が報告する身元情報では、「スクレイピングによる取得」が685回、「広告主による積極的な提供」が255回——6割以上が SDK が自らページから取得したものであり、出所には Google トラッキングコードマネージャーのデータレイヤーも含まれる。

一般ユーザーが今できること3つは何か?

第一に、ブラウザを正しく選ぶ:Firefox はサードパーティ cookie をデフォルトでブロックし、iOS 上のすべてのブラウザは WebKit エンジンであるため同様に免疫。これらはエンジンレベルのデフォルトポリシーによって遮られている。デスクトップ Chrome にはテストデータがなく、サードパーティ cookie をブロックする拡張機能を導入すると効果は近い。第二に、Cookie 同意のポップアップでは必要最小限のみにチェックする:marketing は拒否し、analytics も閉じられるなら閉じ、後に承認した設定を確認し直す。第三に、AI 対話ボックスでは個人情報を入力しない:アカウントパスワード、認証コード、身分証明書番号、病歴の詳細は入力しない——向こうにどのような収集装置が掛かっているかは不明であり、AI 製品がビジネスモデルを切り替える速度は、ユーザーが認識を更新する速度よりはるかに速い。