刚刚,关于 ChatGPT 能够知晓你在其他网站购物行为的传闻已被坐实。昨天,独立研究员 Buchodi 发布了一份详尽的一手调查报告,该报告在 Hacker News 上引发了巨大反响,得分高达 573,评论数超过 300 条。
他利用自己的安卓手机进行了实验,通过两种不同的方式截获了手机与各个网站之间传输的数据,并进行了比对。经过数月的监控,涉及上千个网站和近千个广告追踪点,实验结果令人咋舌:你在商家网站上搜索、浏览或购买的商品信息,竟然能通过一枚名为 `__obi` 的 Cookie,精准地回溯到你的 ChatGPT 账号。
整个过程主要分为三步:
第一步是身份验证。ChatGPT 首先会向浏览器发送一张“60 秒过期的身份证”。当你访问 chatgpt.com 时,浏览器在后台生成一串随机数并发送给 OpenAI 服务器。服务器随后签发一枚数字令牌,将你的 ChatGPT 账号与这串随机数锁定,60 秒后该令牌作废。
第二步是换发长寿 Cookie。浏览器拿着令牌跨站发送给 `bzr.openai.com`,服务器回种一枚 `__obi` Cookie,挂载在 `.openai.com` 域名下,有效期长达一年。关键在于其配置:`SameSite=none`,专门用于跨站请求。这意味着当你访问其他网站时,这枚 Cookie 也会跟随过去。在同一批请求中,浏览器会拦截 OpenAI 的其他 Cookie,唯独放行这一枚。
第三步是商家回传。在 ChatGPT 上投放广告的公司,会在其站点安装一小段 OpenAI 追踪代码——类似于 Meta Pixel 或 Google Tag。代码一旦加载,`__obi` 就会带着你正在查看的页面、搜索的商品以及刚下的订单信息飞回 OpenAI。最隐蔽的是,浏览器在脚本执行前就已经将 Cookie 附带在请求上了。只要页面打开,标识就已经送出,无需任何操作。
收集到的信息远比商家主动交出来的要多。虽然邮箱和电话经过加密,但你在哪个国家、哪个城市、邮编多少,却是明文直接传输的。邮编被收集得最为频繁,在 28 个网站上捕捉到 100 次。此外,访问的网址路径也被记录在案,研究者甚至看到了疾病查询页面、债务解决方案页面以及打官司的登记表。
更荒谬的是,商家自己也被蒙在鼓里。他们只是按照 OpenAI 的要求安装了代码来统计广告效果,根本不知道自家顾客的浏览记录正被悄悄绑定到某个 ChatGPT 账号上。
你以为退出 ChatGPT 账号就能摆脱追踪?想多了。研究者拆开了近千枚身份凭证,发现即使没有登录,系统也会为手机分配一个匿名编号——每台设备一个,有效期至少 27 天。退出登录只是换了个马甲,该追踪的依然在追踪。
更令人无语的是,OpenAI 将这枚 Cookie 归类在“数据分析”而非“广告营销”下。这意味着,即使用户特意在设置中关闭了广告追踪,`__obi` 依然会被种下。Buchodi 向 OpenAI 提出了两个质疑:凭什么算分析不算营销?关闭营销的人是不是照样中招?客服仅回复“收到,内部调查”,未作正面回答。
并非所有用户都受到影响。好消息是,iPhone 和 iPad 用户可以松口气,因为苹果的 Safari 浏览器天生会拦截这类跨站 Cookie,iOS 上的 Chrome 也一样。安卓版 Chrome 是唯一受影响的平台,电脑端 Chrome 尚未验证。此外,触发频率约为五次中有一次,手机网页版甚至压根不触发。Buchodi 也坦言,他只能证明数据被送到了 OpenAI 服务器,至于服务器内部是否真的将数据与账号对上,他无从得知。
说到底,这套玩法并非 OpenAI 发明。Facebook 多年前就曾通过类似机制追踪用户。广告行业干这事十几年了。但这次不同:AI 的对话内容往往比朋友圈更私密,而 ChatGPT 正越来越多地替用户下单、订票、办事。广告技术是旧的,但将你在别处的商业行为与 AI 对话记录合并在同一个账号上,却是前所未有的新景象。
