Estudio detecta reenvíos del razonamiento cifrado entre cuentas de OpenAI y Anthropic

Fuentes: A hobbyist finds replay flaws in encrypted reasoning from LLM APIs
Imagen generada por IA con el prompt: Dark tech-noir illustration of glowing cyan and purple encrypted data blocks floating above a neural network diagram, with binary code streams and a faint padlock silhouette in the background.
Imagen generada con IA

Un análisis técnico de un investigador aficionado revela que los datos cifrados de razonamiento que devuelven las API de OpenAI y Anthropic pueden reenviarse entre sesiones e incluso entre cuentas distintas sin que los servidores lo detecten. El hallazgo, que el propio autor califica de modesto, apunta a que ambos proveedores podrían estar utilizando una única clave global para proteger esos datos, lo que tendría implicaciones para el modo de retención cero de datos.

Los modelos de razonamiento, como los de las familias o1 de OpenAI o Claude de Anthropic, generan un 'chain-of-thought' (cadena de pensamiento) que normalmente permanece privado en el servidor. Sin embargo, para permitir conversaciones sin estado o con retención cero de datos, las API envían al cliente una versión cifrada de ese razonamiento, codificada en Base64, que debe reenviarse al servidor en el siguiente turno de la conversación. El cliente no puede leer ni modificar esos bloques, y cualquier intento de alterarlos produce un error de la API.

El autor, tras veinte horas de trabajo y unos 5 millones de tokens de Codex, comprobó que sí es posible reenviarlos sin alterar entre sesiones distintas e incluso entre cuentas diferentes. En el caso de OpenAI, los bloques pueden reenviarse entre modelos; Anthropic lo impide. Esta característica sugiere que ambos proveedores utilizan una única clave global para cifrar y autenticar los datos de razonamiento de todos sus clientes, en lugar de claves individuales por cuenta.

El hallazgo tiene implicaciones para el modo de retención cero de datos: si todos los razonamientos quedan protegidos por una sola clave que no cambia con frecuencia, un atacante con acceso a esa clave podría descifrar el historial completo de razonamiento de cualquier usuario. Además, se identifican posibles canales laterales, como la longitud de los bloques, el tiempo de generación o el número de tokens empleados, que podrían filtrar información sobre el proceso interno del modelo. El autor recomienda a las aplicaciones que exponen interfaces de chat a terceros extremar las precauciones para evitar inyecciones de JSON con bloques de razonamiento ajenos.