ChatGPTが他サイトの行動を広告Cookieで追跡
原題: ChatGPT now knows what you do on other websites via ad collector
なぜ重要か
OpenAIが広告ビジネスを本格化させる中、ChatGPTアカウントとクロスサイト行動の紐づけはプライバシー規制(GDPR・CCPAなど)上の重大リスクとなる可能性がある。
OpenAIは広告プラットフォーム「Bazaar」を通じ、ChatGPTユーザーが他のウェブサイトで行う閲覧・購買行動をアカウントと紐づけて収集していることが判明した。調査者が936の広告主ピクセルと1,029ホスト名のトラフィックを数カ月分分析し、「__obi」Cookieによる追跡の全仕組みを独立した2つの手法で再現・検証した。
調査によると、OpenAIはChatGPTのセッション中にユーザーのブラウザへ「__obi」という識別子Cookieを発行する。このCookieは「.openai.com」ドメイン全体に適用され、有効期限は1年間。発行の仕組みはRS256 JWT(JSON Web Token)を使って実装されており、内部サービス名「wadi」が署名し、ChatGPTアカウントの固有IDと結び付けられる。
広告主がChatGPTに出稿すると、MetaやGoogleのトラッキングコードと同様に、自社サイトへOpenAIのSDKスクリプト(oaiq.min.js)を設置する。ユーザーがその広告主サイトを訪問すると、スクリプトの読み込み自体がブラウザの仕様により「__obi」をOpenAIのサーバーへ送信する。SDKがCredentials(認証情報)を省略するコードパスを通っても、ブラウザは`<script src>`タグのリクエストにCookieを自動付与するため、回避できない構造になっている。
収集されるデータはページ上の閲覧商品や記事、購買行動にとどまらない。SDKはフォームフィールド(fm)、ページテキスト(ht)、タグマネージャーバス(js)からも情報を取得する。観測されたトラフィックでは、広告主が意図的に渡した情報(255イベント)を上回る685イベントがSDKの自動収集によるものだった。メールアドレスや電話番号はSHA-256ハッシュ化されて送信されるが、国・都市・郵便番号は平文で送られる。
特に注目されるのはタグマネージャーの処理だ。SDKは「window.dataLayer.push」を独自関数で置き換え、Adobe Data Layerも読み取り、Google Tag Managerのスクリプトパラメータを解析してリネームされたレイヤーも検出する。バージョン0.1.31では氏名や地域情報も取得していたが、8月27日以降はスコープが縮小されている。