OpenAI 位于 bzr.openai.com 的广告收集器设置了一个名为 __obi 的 cookie,范围为 .openai.com 。该值是当您使用 ChatGPT 并与您的 ChatGPT 帐户绑定时的值。然后 __obi 从您访问的普通网站发送到 OpenAI。任何在 ChatGPT 上购买广告的公司都会在自己的网站上安装一小段 OpenAI 代码,就像零售商已经安装 Meta 和 Google 跟踪代码一样。加载该代码,将 __obi 以及有关您正在浏览的页面的数据发送到 OpenAI。这包括您正在搜索的产品、您正在阅读的文章以及购买行为。最重要的是,OpenAI 可以将您在这些网站上所做的事情连接到您的 ChatGPT 帐户。我在自己的手机上重现了完整的机制,使用两种独立的捕获方法进行了验证,并与几个月观察到的流量(涵盖 1,029 个主机名中的 936 个不同广告商像素)进行了交叉检查。工作原理 步骤 1. ChatGPT 创建一个标识符并对其进行签名。在 chatgpt.com 上,客户端生成 16 个随机字节并调用 POST /backend-api/bazaar/obi/sync-token (或注销时的 /backend-anon/)。后端返回 RS256 JWT: { "iss": "chatgpt-wadi", "aud": "bzr.openai.com", " Purpose": "obi_sync", "operation": "set", "consent_decision": "analytics_allowed", "consent_policy_version": "user_capsular_consent_v1", "sub": "«redacted: 64-hex帐户主题»", "subject_type": "account_user", "obi": "«redacted: 22-charidentifier»", "exp": "«iat + 60s»" } sub 是帐户。 obi 是标识符。令牌将它们绑定,范围仅限于收集器,并在 60 秒后过期。 bzr 代表 bazaar ,OpenAI 广告平台的内部名称; wadi 是发行服务。步骤 2. 标识符成为 OpenAI 域上的 cookie。客户端跨站点 POST {"token": "«JWT»"} 到 bzr.openai.com/v1/obi/sync 。响应:Set-Cookie:__obi=«redacted»;域名=.openai.com;仅 Http;最大年龄=31536000;路径=/;相同站点=无; Secure SameSite=none 和 Secure 是需要在跨站点请求上发送 cookie 的配置。最大年龄为一年。 JWT 中的 obi 值与 cookie 中的值相同。步骤 3. 广告商网站将其发回。三个请求类别从广告商页面发送到 OpenAI 的主机。在 jar 中带有 __obi 的手机上,所有三个都携带它: Request Carried __obi Notes GET bzrcdn.openai.com/sdk/oaiq.min.js yes the script load self POST bzr.openai.com/v1/sdk/events with obref yes conversion events POST bzr.openai.com/v1/sdk/events , bare body yes the SDK's "nocredentials"path GET bzrcdn.openai.com/pixel-config/… 完全没有 cookie 标头控制 第一行特别有趣。 Pixel SDK 有一个省略凭据的代码路径,但它没有帮助:浏览器将 cookie 附加到
微信扫一扫分享
打开微信扫描二维码