En pocas palabras: Investigadores del estudio Stolen Thoughts demostraron que los tokens ocultos de razonamiento de OpenAI, Anthropic y Google se pueden decodificar: reconstruyeron 315.320 bloques a partir de trayectorias públicas y recuperaron 704 datos privados, incluidas 62 API keys y 33 contraseñas.
Un equipo de investigadores demostró que los tokens ocultos de razonamiento LLM de OpenAI, Anthropic y Google se pueden decodificar. En el estudio Stolen Thoughts reconstruyeron 315.320 bloques de razonamiento a partir de trayectorias públicas y recuperaron 704 datos privados, entre ellos 62 claves de API y 33 contraseñas.
Los tokens ocultos de razonamiento son los pasos internos que un modelo genera para “pensar” antes de darte la respuesta final. Las APIs de OpenAI, Anthropic y Google los cobran y te informan cuántos usó, pero no te muestran el texto: viajan cifrados. El trabajo Stolen Thoughts mostró que esos bloques cifrados se pueden reconstruir con un modelo externo.
En 30 segundos
- El ataque funciona en los tres grandes: se probó contra modelos frontera de OpenAI, Anthropic y Google.
- Escala real: 6.708 trayectorias de agentes recolectadas de GitHub y Hugging Face, 315.320 bloques de razonamiento reconstruidos.
- Datos sensibles adentro: 704 artefactos privados, incluidas 62 API keys, 33 contraseñas, 24 access tokens y 30 emails personales.
- Lo más incómodo: 64 de esos datos aparecían solo en el razonamiento oculto y en ninguna parte de la sesión visible.
- El decoding lo hizo otro modelo (GPT-5.6 Luna, según la fuente), no un exploit contra los servidores.
¿Qué son los reasoning tokens y por qué están ocultos?
Los reasoning tokens son el borrador mental del modelo: la cadena de pasos que arma para resolver un problema antes de escribir la respuesta que vos leés. En los modelos de razonamiento (los que “piensan” más), esa cadena puede ser larguísima. Ponele que le pedís a Claude que resuelva un problema de Codeforces: genera cientos o miles de tokens razonando el algoritmo, y recién ahí te tira el código.
¿Por qué las empresas los esconden? Por dos razones que admiten sin vueltas. Una es competitiva: ese razonamiento es parte de la salsa secreta y no quieren que se use para destilar modelos rivales. La otra es de seguridad, para que no se vea cómo el modelo esquiva sus propias restricciones.
El tema es que “oculto” no significa “borrado”. La API sigue necesitando ese contexto para las respuestas siguientes, así que lo devuelve en un bloque cifrado (`encrypted_content`) que vos guardás y reenviás. Ahí está la grieta. Esto se conecta con lo que analizamos en protecciones de seguridad a nivel empresarial.
La investigación de Stolen Thoughts: cómo se decodificaron los reasoning traces
Stolen Thoughts decodificó los reasoning traces pasando los bloques cifrados por otro modelo de lenguaje, sin romper cifrado ni tocar los servidores de nadie. El equipo validó el método con 120 problemas de Codeforces: por cada uno midió los tokens de pensamiento que reportaba la API contra los tokens del razonamiento que reconstruían. Los números seguían de cerca, señal de que lo decodificado era el razonamiento real y no un invento.
Después vino la parte a escala. Juntaron 6.708 trayectorias de agentes disponibles al público en GitHub y Hugging Face, producidas por modelos Claude, GPT y Gemini, que todavía tenían adentro sus bloques de razonamiento cifrados. La gente los sube sin darse cuenta de que ese `encrypted_content` guarda algo recuperable.
¿El resultado de aplicar el pipeline a cada bloque firmado? 315.320 bloques de razonamiento reconstruidos. Trescientos quince mil pensamientos que se suponía que nadie iba a leer, leídos.
Un detalle que aparece en la misma fuente muestra lo crudo del asunto: en uno de los razonamientos decodificados, el modelo estaba pensando en voz alta cómo sanitizar claves (“deberíamos buscar patrones como api_key, apikey, token, secret”). O sea, el propio razonamiento que discutía cómo proteger secretos quedó expuesto. Sobre eso hablamos en cómo funciona ChatGPT internamente.
704 artefactos privados expuestos: API keys, passwords y datos personales
Filtrando solo sesiones genuinas de usuarios (nada de benchmarks), los investigadores recuperaron 704 artefactos de privacidad distintos. No son abstracciones: son credenciales y datos que alguien tipeó pensando que quedaban en una caja negra.
- 62 API keys reconstruidas desde los bloques de razonamiento.
- 33 contraseñas en texto recuperable.
- 24 access tokens de servicios varios.
- 30 direcciones de email personales, más nombres, direcciones postales, URLs internas y otros identificadores técnicos.
Acá viene lo bueno (o lo peor, según cómo lo mires): 64 de esos 704 artefactos aparecían solo dentro de los reasoning blocks y en ningún lado de la sesión visible. Traducido: había datos sensibles que el usuario no veía ni en su propio historial, pero que el modelo se había guardado en su razonamiento y quedaban recuperables. Si alguna vez asumiste que “lo que no aparece en la respuesta no existe”, este número te desarma esa idea.
¿Cuál es la diferencia entre datos visibles y reasoning blocks ocultos?
La diferencia es qué actor ve cada capa. El usuario ve la respuesta final. La API maneja además el razonamiento cifrado, que reenvía entre turnos. Y con la técnica de Stolen Thoughts, un tercero con acceso a esos bloques cifrados puede reconstruir el razonamiento. Tres niveles, tres visibilidades distintas.
| Capa | Qué contiene | Quién la ve (en teoría) | ¿Recuperable? |
|---|---|---|---|
| Respuesta visible | El texto final que te devuelve el modelo | Vos y cualquiera con el log | Sí, está a la vista |
| Bloque de razonamiento cifrado | Los pasos internos (`encrypted_content`) | La API; vos lo guardás pero no lo leés | Sí, decodificable con otro modelo |
| Datos exclusivos del razonamiento | Secretos que solo quedaron ahí (64 de 704) | Nadie, supuestamente | Sí, y sin rastro en la sesión |

Implicaciones de seguridad para usuarios de APIs de OpenAI, Anthropic y Google
Para cualquiera que use estas APIs con datos sensibles, la implicación es directa: lo que le pasás al modelo puede terminar en un bloque de razonamiento que, si se comparte, se reconstruye. El riesgo no es teórico. Las trayectorias que analizó el estudio salieron de repos públicos donde desarrolladores subieron logs de agentes sin limpiar. Te puede servir nuestra cobertura de mecanismos internos de razonamiento en LLMs.
El caso más peligroso es el flujo agéntico: subís la sesión a producción, la guardás como fixture, la compartís en un issue de GitHub para pedir ayuda, la publicás en un dataset de Hugging Face, y en ninguno de esos pasos alguien piensa que el bloque cifrado adjunto es una bomba de tiempo. Ahí es donde se filtraron las 62 claves.
Si trabajás con infraestructura, otra derivada práctica: nunca metas credenciales de tu hosting o servidores dentro de un prompt para que “el agente configure algo”. Esa clave puede quedar en el razonamiento y viajar mucho más lejos de lo que pensás.
Cómo protegerse al usar APIs de inteligencia artificial
Protegerse arranca por asumir que el reasoning es recuperable y tratar cada credencial que toca un prompt como comprometida. No hay un botón mágico, pero sí hábitos concretos que reducen la exposición.
- No pongas secretos en el prompt: pasá las claves por variables de entorno o un secrets manager, nunca en el texto que ve el modelo.
- Usá tokens de alcance limitado: credenciales de solo lectura o con permisos mínimos, así una filtración duele menos.
- Rotá credenciales seguido: si una API key vivió en una sesión de agente, tratala como quemada y renovala.
- Limpiá antes de compartir: antes de subir un log o una trayectoria a GitHub o Hugging Face, borrá los bloques `encrypted_content`.
- Auditá en testing: revisá qué termina en tus sesiones guardadas antes de que salgan de tu máquina.
¿Qué han respondido OpenAI, Anthropic y Google sobre esta vulnerabilidad?
Hasta el cierre de esta nota no hay respuestas oficiales confirmadas de OpenAI, Anthropic ni Google sobre el trabajo de Stolen Thoughts. La fuente documenta el método y los resultados, pero no incluye comunicados de las tres empresas ni cambios anunciados a raíz del hallazgo. Tomalo con pinzas: la ausencia de respuesta no equivale a un desmentido ni a una confirmación.
Qué está confirmado
- El método funciona en modelos frontera de OpenAI, Anthropic y Google, según el propio estudio.
- Las cifras de 315.320 bloques y 704 artefactos privados salen de la fuente primaria.
- El decoding se hizo con un modelo externo sobre bloques cifrados públicos, no atacando servidores.
Qué no está confirmado
- Respuestas de las empresas: no hay comunicados oficiales verificados a la fecha.
- Parches o mitigaciones: no se conocen cambios implementados por los proveedores.
- Alcance total: el estudio trabajó sobre trayectorias públicas, no sobre tráfico privado de las APIs.
Errores comunes al pensar en los reasoning tokens
- Creer que “cifrado” es “seguro”: el bloque viaja cifrado, pero el contenido se reconstruye con otro modelo. Cifrado en tránsito no es lo mismo que privado para siempre.
- Subir logs de agentes sin limpiar: mucha gente comparte trayectorias en GitHub o Hugging Face para pedir ayuda. Ahí salieron las 62 API keys. Sacá los bloques de razonamiento antes.
- Meter credenciales en el prompt: pasar una clave “para que el agente la use” es el error más caro. Si entró al razonamiento, asumila filtrada.
- Suponer que lo que no ves no existe: 64 datos privados vivían solo en el razonamiento oculto, invisibles en la sesión. La respuesta limpia no garantiza nada.
Preguntas Frecuentes
¿Qué son los reasoning tokens ocultos de las APIs de IA?
Son los pasos internos que un modelo de razonamiento genera para resolver un problema antes de la respuesta final. Las APIs de OpenAI, Anthropic y Google los cobran y reportan su cantidad, pero devuelven el texto en un bloque cifrado que el usuario no lee. Para más detalles técnicos, mirá los modelos de IA que desarrolla Google.
¿Cómo se pueden extraer los tokens de razonamiento de OpenAI y Anthropic?
Stolen Thoughts pasó los bloques cifrados (`encrypted_content`) por otro modelo de lenguaje que reconstruye el razonamiento. No hubo intrusión a servidores ni ruptura de cifrado: usaron bloques que ya estaban públicos en trayectorias subidas a GitHub y Hugging Face.
¿Qué datos sensibles hay en los reasoning traces de los LLMs?
El estudio recuperó 704 artefactos privados: 62 API keys, 33 contraseñas, 24 access tokens y 30 emails personales, más nombres, direcciones postales y URLs internas. De esos, 64 solo existían en el razonamiento oculto y no en la sesión visible.
¿Es seguro usar APIs de inteligencia artificial para datos sensibles?
Con precauciones, sí, pero no metas secretos en el prompt. La recomendación práctica es tratar cualquier credencial que toque una sesión como potencialmente recuperable: usá tokens de alcance limitado, rotalos seguido y limpiá los bloques de razonamiento antes de compartir logs.
¿Cómo protegen OpenAI, Google y Anthropic los tokens ocultos?
Los devuelven cifrados y no muestran el texto al usuario, por motivos competitivos y de seguridad. El hallazgo de Stolen Thoughts es que ese cifrado no impide reconstruir el contenido. A la fecha no hay respuestas oficiales confirmadas de las tres empresas sobre el tema.
Conclusión
Lo que cambia con Stolen Thoughts es la premisa: dejamos de poder asumir que el razonamiento de un modelo es una caja negra inaccesible. Si viaja cifrado pero se reconstruye con otro LLM, entonces todo lo que le pasás al modelo puede terminar leído por un tercero, sobre todo si compartís esas sesiones. Los 315.320 bloques reconstruidos y las 62 claves recuperadas no son una prueba de laboratorio aislada: salieron de repos públicos reales.
¿Qué hacer hoy? Dos cosas concretas. Primero, sacá los secretos de tus prompts y rotá cualquier credencial que ya haya pasado por un agente. Segundo, antes de subir un log o dataset a cualquier lado, borrá los bloques de razonamiento cifrados. Es poco trabajo comparado con explicar después cómo se te filtró una API key que creías guardada en una caja negra.




