
OpenAI 正通过一种名为 __obi 的 Cookie,将用户在 ChatGPT 上的活动与其在其他网站的浏览行为进行跨站关联。该机制允许 OpenAI 收集用户在安装了其广告代码的外部网站上的搜索、阅读及购买数据,并将其绑定至用户的 ChatGPT 账户。
技术机制解析
这一追踪体系的核心在于 __obi Cookie 的生成与传输。当用户访问 chatgpt.com 时,客户端会生成一个随机标识符,并从后端获取一个绑定了账户主体(sub)和标识符(obi)的 JWT 令牌。随后,该标识符被写入作用域为 .openai.com 的 Cookie 中,配置为 SameSite=None,有效期长达一年。
由于 SameSite=None 的配合,当用户访问嵌入了 OpenAI 广告像素(Pixel)的第三方网站时,浏览器会在加载 SDK 脚本或发送事件请求时,自动携带该 Cookie。这意味着,即使用户并未在第三方网站登录,OpenAI 也能通过 __obi 识别其身份,并将站外行为数据回传至其服务器。
值得注意的是,这是 OpenAI 唯一配置为允许跨站发送的标识符。其他如 oai-did 等 Cookie 因 SameSite=Lax 或域名不匹配而被浏览器阻止。
数据采集范围与隐私隐患
除了标识符,OpenAI 的 SDK 还会从广告商页面抓取大量身份信息。数据显示,SDK 自动抓取的数据量远超广告商主动传递的数据。这些数据来源包括表单字段、页面文本以及标签管理器总线(如 Google Tag Manager)。
敏感信息如电子邮件、电话号码及姓名在传输前会进行 SHA-256 哈希处理,但地理位置信息(国家、地区、城市、邮政编码)则以明文形式发送。观测发现,URL 路径中甚至包含医疗状况、债务解决方案及法律诉讼等高度敏感内容。
尽管 OpenAI 声称黑名单排除了密码、社保号及病史等字段,但其“自动匹配”功能在信贷和借贷类广告商中被广泛启用,引发了严重的隐私担忧。
同意机制存在争议
OpenAI 的 Cookie 政策将 __obi 归类为“分析 Cookie”,并称其仅用于了解服务表现。然而,实测显示,即使用户在隐私设置中明确拒绝“营销”同意,仅保留“分析”同意,__obi Cookie 依然会被下发并用于跨站追踪。
在解码的同步令牌中,所有携带 consent_decision: analytics_allowed 的请求均包含了该标识符。这表明,OpenAI 当前的同意框架可能未能准确反映其数据收集的实际范围。
验证范围与局限性
作者在 Android Chrome 浏览器上复现并验证了这一机制。测试涵盖 1,029 个主机名中的 936 个广告商像素,确认 __obi 能从 Chewy、Wayfair、Eventbrite 等商业网站成功发送至 OpenAI,且服务器返回 202 状态码表示接收。
该机制在 iOS 设备上因 Safari 的智能跟踪预防(ITP)策略而失效,因为 ITP 会阻止所有第三方 Cookie。此外,登出状态下的匿名用户同样会被分配稳定的设备级标识符,持续时间至少 27 天。
作者曾于 9 月 14 日就 __obi 的分类逻辑及同意机制问题联系 OpenAI,但截至发稿前,仅收到确认收到的自动回复,未获实质性解答。