BookinglyTech News
Ciberseguridad

OpenAI enlaza tu actividad en webs de anunciantes con tu cuenta de ChatGPT

La cookie __obi viaja desde los píxeles publicitarios de terceros hasta los servidores de OpenAI atada al identificador de tu cuenta, y está configurada para saltarse el aislamiento entre sitios.

3 min de lecturaLobsters0 vistas

OpenAI puede vincular lo que haces en webs de anunciantes con tu cuenta de ChatGPT, y quien ha documentado el mecanismo lo ha reproducido entero en su propio móvil. La pieza clave es una cookie llamada __obi, con un año de vida y ámbito .openai.com, que es la única cookie identificadora de la compañía configurada con SameSite=None y Secure. Esa combinación es justo la que un navegador necesita para adjuntarla en peticiones entre sitios.

Cómo viaja el identificador

El flujo arranca en chatgpt.com. El cliente genera 16 bytes aleatorios y llama a /backend-api/bazaar/obi/sync-token (o a /backend-anon/ si no has iniciado sesión). El backend devuelve un JWT firmado con RS256 que ata el identificador de 22 caracteres a la cuenta, con 60 segundos de validez. bzr es el nombre interno de la plataforma publicitaria de OpenAI, bazaar; wadi es el servicio que emite el token. Después, el cliente manda ese token a bzr.openai.com/v1/obi/sync y la respuesta es el Set-Cookie de __obi.

A partir de ahí, cualquier empresa que compre anuncios en ChatGPT instala en su web un pequeño SDK de OpenAI, igual que ya instala los de Meta y Google. El detalle interesante es que el SDK no necesita cooperar: el navegador adjunta la cookie en la propia petición que carga el script (bzrcdn.openai.com/sdk/oaiq.min.js). Existe una ruta del SDK que omite credenciales a propósito y no sirve de nada, porque la divulgación ocurre antes de que se ejecute una sola línea de código de OpenAI.

Ese mismo SDK recoge identidad de la página del anunciante y la separa en cuatro fuentes, con la nomenclatura de la propia OpenAI: lo que el anunciante entrega deliberadamente y lo que se rasca de campos de formulario, del texto renderizado y del bus del gestor de etiquetas. En el tráfico observado, lo rascado superaba a lo entregado: 685 eventos frente a 255. La mayor fuente de correos es ese bus, cuyo window.dataLayer.push el SDK sustituye por su propia función. La versión 0.1.31 también se llevaba nombres y geografía hasta que el alcance se recortó el 27 de agosto. Correo, teléfono y nombre viajan con hash SHA-256; país, región, ciudad y código postal, en claro. El código postal fue el campo más cosechado.

Funciona también sin cuenta

De 932 tokens decodificados, 736 correspondían a usuarios con cuenta y 196 a sujetos anónimos, igual de estables: uno por dispositivo, con al menos 27 días de persistencia. La política de cookies lista __obi como analítica, y OpenAI separa el consentimiento de analítica del de marketing. Todos los tokens decodificados llevaban consent_decision: analytics_allowed, así que quien acepta analítica y rechaza marketing acaba con esto encima igual.

Las peticiones se aceptaban con un 202. En el dispositivo analizado, un mismo valor de __obi llegó a OpenAI desde 12 webs comerciales bajo 13 identificadores de píxel distintos, entre ellas Chewy, Wayfair, ThriftBooks, Eventbrite, HelloFresh, Coursera y SeatGeek. En el tráfico amplio, 12 de 30 valores aparecieron en más de un anunciante y uno en diez. El emparejamiento automático estaba activo en 638 de 881 píxeles con ajuste conocido, incluidos todos los anunciantes de crédito y préstamos observados. Hay una denylist para contraseñas, códigos de un solo uso, tarjetas, SSN, fecha de nacimiento y campos médicos o judiciales. Las URL se recortan a origen y ruta antes de enviarse, sin query string, pero la ruta se conserva: entre las observadas hay una condición médica, un embudo de deuda y un formulario de litigios.

Para quien administra sistemas o implementa banners de consentimiento, el punto incómodo es que el consentimiento de analítica basta para activar todo esto, y que la lista de exclusión se aplica en servidor, no en el navegador. El análisis envió el mecanismo y dos preguntas a los buzones de prensa y privacidad de OpenAI el 14 de septiembre. La respuesta de la compañía no aparece en lo publicado hasta ahora.

OpenAI vincula tu navegación con tu cuenta de ChatGPT · Bookingly