ChatGPT、広告経由で他サイトの行動を収集
원제: ChatGPT now knows what you do on other websites via ad collector
왜 중요한가
ChatGPTユーザーの行動が広告エコシステムと結びつく事実は、AIサービスとプライバシー規制の緊張を一段と高める。
OpenAIがChatGPTの広告プラットフォーム「Bazaar」を通じ、他社サイトでのユーザー行動をChatGPTアカウントへ紐付けていることが研究者の独自調査で明らかになった。`__obi`クッキーを媒介に936件の広告主ピクセル・1,029ホスト名にわたる通信が確認され、メール・電話番号はSHA-256ハッシュ化、郵便番号は平文で送信される。
研究者が2台の独立したキャプチャ手法と数か月分のトラフィックデータを使い、OpenAIの広告追跡の仕組みを詳細に再現した。
仕組みは3段階で動く。まずChatGPTがバックエンドAPIを呼び出し、RS256 JWTを取得。このJWTにはユーザーのアカウントID(sub)と22文字の識別子(obi)が含まれる。次に、このJWTを`bzr.openai.com`へPOSTすると、`SameSite=none; Secure`設定の`__obi`クッキーが`.openai.com`ドメイン全体に1年間有効で発行される。`SameSite=none`はクロスサイトリクエストでもクッキーが送信される設定だ。
広告主がChatGPT広告を購入するとOpenAIのトラッキングコードを自サイトへ設置する。MetaやGoogleのピクセルと同様の仕組みで、ユーザーが広告主サイトを訪問した際、SDKのスクリプト読み込みリクエスト自体が`__obi`を送信する。OpenAIのコードが実行される前に、ブラウザが自動的にクッキーを付与するためだ。
SDKはさらに、広告主が意図的に渡す値(in)に加え、フォームフィールド(fm)、ページ本文(ht)、タグマネージャーバス(js)からもデータをスクレイピングする。観測トラフィックでは、SDKが自動収集したデータが685イベントに対し、広告主が意図的に渡したデータは255イベントにとどまり、自動収集が主流だった。SDKは`window.dataLayer.push`を独自関数に差し替え、GTMやAdobe Data Layerからメールアドレスや電話番号を取得する。これらはSHA-256でハッシュ化して送信されるが、国・地域・都市・郵便番号は平文のまま送信される。バージョン0.1.31では8月27日以前、氏名や詳細な地理情報も収集していた。