sistema: OPERATIVO
← volver a todos los hacks
DATA LEAK CRITICAL NEW

Los bloques de razonamiento cifrados son reproducibles — y sus logs publicados filtran secretos

Un artículo de agosto de 2026 demuestra que los bloques de chain-of-thought cifrados de OpenAI, Anthropic y Google son intercambiables entre sesiones, cuentas y modelos. Decodificar 315.320 bloques de repositorios públicos recuperó 367 artefactos PII y 182 credenciales.

2026-09-01 // 7 min affects: openai-responses-api, anthropic-extended-thinking, gemini-thought-signatures, codex, claude-code, agent-trace-datasets

¿De qué se trata?

Los modelos de razonamiento ya no muestran su chain-of-thought en bruto. Para conservar ese razonamiento entre turnos sin almacenarlo en el servidor, los grandes proveedores lo devuelven al cliente como un bloque cifrado y opaco que la aplicación reproduce en cada solicitud posterior. OpenAI devuelve elementos de razonamiento cifrados, Anthropic transporta el razonamiento en una firma cifrada asociada a los bloques de pensamiento, y Google utiliza thought signatures cifradas.

El 10 de agosto de 2026, Alexander Panfilov, David Schmotz, Ilia Shumailov, Luca Beurer-Kellner, Joachim Schaeffer, Ameya Prabhu, Jonas Geiping y Maksym Andriushchenko publicaron Stealing Reasoning Traces from Proprietary LLM APIs (arXiv:2608.09867). Su hallazgo es arquitectónico, no criptográfico: esos bloques son plenamente compatibles e intercambiables entre sesiones, usuarios y modelos dentro del ecosistema de un mismo proveedor.

La consecuencia práctica es la parte sobre la que conviene actuar. Los desarrolladores publican logs de sesiones de agentes — sesiones de Codex, transcripciones de Claude Code, rollouts de benchmarks — con los bloques cifrados intactos, suponiendo que son inertes. No lo son. La decodificación de 315.320 bloques de razonamiento extraídos de repositorios públicos recuperó 367 artefactos PII y 182 credenciales, incluidas claves API, contraseñas y claves privadas.

Cómo funciona

El cifrado nunca se rompe y no se obtiene ninguna clave. El ataque funciona porque el proveedor acepta un blob intacto como contexto válido, con independencia de quién lo haya producido.

El método consta de tres pasos. Extraer un bloque de razonamiento cifrado de donde fue publicado. Reproducirlo en un modelo más débil y con menos salvaguardas del mismo proveedor — el artículo emplea Claude Haiku 4.5 para trazas de Claude, GPT-5.6 Luna para trazas de GPT y Gemini Robotics ER-1.6 para trazas de Gemini. Y después pedir a ese modelo que transcriba el pensamiento adjunto a su turno. El modelo potente que produjo el razonamiento nunca es objeto de jailbreak; un modelo hermano y barato actúa como lo que los autores denominan un decodificador «difuso».

# Esquema conceptual únicamente — sin payload funcional
[ session A, user 1, strong model ]  -> reasoning block  (cifrado, base64)
                                         |
                     publicado en un repositorio / traza compartida
                                         |
[ session B, user 2, weak model    ]  <- el mismo bloque reproducido como contexto
                                      -> «transcribe el pensamiento adjunto»

Johann Rehberger reprodujo la técnica de forma independiente contra OpenAI el 16 de agosto de 2026, recuperando una contraseña presente en una traza de razonamiento generada bajo una cuenta distinta. También observó que el ataque dejaba de funcionar durante unos tres días y luego volvía a funcionar — un recordatorio útil de que «ya no se reproduce» no equivale a «está corregido».

El artículo documenta cuatro vías de abuso distintas: elusión de las protecciones antidestilación, extracción de datos privados a gran escala desde trazas publicadas, recuperación de contenido peligroso sobre el que el modelo razonó antes de rechazar la petición de forma segura en su salida visible, e inyección de prompt invisible — una carga oculta enteramente dentro de un bloque opaco, que envenena un rollout de agente sin aparecer nunca en texto legible.

El trabajo se apoya directamente en el del criptógrafo de Johns Hopkins Matthew Green, quien demostró el 29 de mayo de 2026 que estos blobs se reproducen entre sesiones y cuentas. Green lo notificó a través de los programas de bug bounty de los proveedores; según su relato, uno calificó el informe de no reproducible y otro no apreció implicaciones de seguridad en la reproducción ni en el canal lateral.

Por qué importa

Sanear una traza compartida consiste habitualmente en depurar la conversación legible. Eso ya no basta, por construcción. Un secreto sobre el que el modelo razonó — pero que mantuvo deliberadamente fuera de su respuesta final — vive únicamente en el bloque cifrado, sobrevive a su pasada de saneamiento y permanece en el artefacto que usted publicó.

Tres colectivos soportan exposición real. Quienes han liberado trayectorias de agentes, rollouts de benchmarks o artefactos de reproducibilidad han publicado material que no pueden inspeccionar. Quienes tienen CI o herramientas de soporte que adjuntan transcripciones de API en bruto a los tickets tienen el mismo problema a menor escala. Y cualquier pipeline que ingiera bloques de razonamiento de terceros dispone ahora de un canal ilegible por el que pueden llegar instrucciones.

La vía de inyección invisible merece atención aparte: derrota cualquier proceso de revisión que opere sobre el texto visible, incluida la revisión humana de una traza antes de publicarla.

Conviene enunciar con claridad lo que acota el problema. No se trata de acceso arbitrario a las conversaciones de otras personas. Requiere poseer un bloque cifrado más acceso API a un modelo compatible del mismo proveedor — precisamente por eso el filo está en los logs publicados, no en las sesiones vivas.

Defensas

Elimine los campos de razonamiento antes de que nada salga de su entorno. Retire encrypted_content, las firmas de bloques de pensamiento y los campos de thought signature de cualquier traza que publique, adjunte a un ticket o incorpore a un commit. Es el control que más importa y es la recomendación principal de los propios investigadores.

Audite lo que ya ha publicado. Busque cargas de razonamiento en sus repositorios existentes, gists, conjuntos de datos y adjuntos de issues. Que los bloques históricos sigan siendo decodificables o no es algo que el registro público no zanja — considérelos expuestos.

Rote todo lo que haya pasado por una traza de razonamiento que compartió. Las claves API, contraseñas y tokens que aparecieron en un prompt pudieron aparecer en el razonamiento. Rótelos asumiendo que el bloque era legible.

Mantenga los secretos fuera de los prompts dirigidos a modelos de razonamiento. Si una credencial nunca entra en el contexto, no puede entrar en la traza. Use referencias y tokens de vida corta resueltos en el momento de la llamada a la herramienta, en lugar de pegar secretos vivos.

Trate los bloques de razonamiento entrantes como entrada no confiable. Si su sistema reproduce objetos de razonamiento que no generó — procedentes de una traza compartida, un conjunto de datos o una integración con un socio —, ha aceptado un canal que su registro no sabe leer. Prefiera eliminar antes que reenviar.

Siga las indicaciones actuales de los proveedores sobre el cambio de modelo. Anthropic indica ahora que los bloques de pensamiento están vinculados al modelo que los produjo y deben eliminarse al cambiar de modelo. Google señala que su backend gestiona la compatibilidad de pensamientos al cambiar de modelo. OpenAI sigue indicando a los desarrolladores que reproduzcan los elementos de razonamiento cifrados cuando gestionan manualmente un historial sin estado.

Añada los campos de razonamiento a su política de secret scanning. Los escáneres existentes buscan patrones de claves en texto plano. Un blob base64 pasa en silencio. Bloquee el campo, no el patrón.

Status

ElementoReferenciaFechaNotas
Artículo principalarXiv:2608.09867, Panfilov et al.2026-08-10Cuatro vectores de ataque; 315.320 bloques decodificados; 367 artefactos PII, 182 credenciales
Hallazgo previo de reproducciónMatthew Green, Cryptography Engineering2026-05-29Reproducción entre sesiones, cuentas y (para OpenAI) modelos; notificado vía bug bounty
Reproducción independienteEmbrace The Red (Johann Rehberger)2026-08-16Recuperación de contraseña entre cuentas contra OpenAI; fiabilidad intermitente observada
Cobertura en prensaThe Hacker News2026-08-12Recoge la declaración de los investigadores: el ataque principal de extracción ya no es reproducible en agosto de 2026
Reconocimiento del proveedorNo ha aparecido reconocimiento público de OpenAI, Anthropic ni Google; el estado de mitigación descansa en la declaración de reproducibilidad de los investigadores
Bloques ya publicadosCuestión abierta. El registro público no establece si los bloques históricos siguen siendo decodificables
Marcos asociadosOWASP LLM Top 10 (divulgación de información sensible, prompt injection), MITRE ATLAS2026Exfiltración vía artefactos publicados; inyección por canal no visible

Se llevó a cabo una divulgación responsable ante los proveedores de modelos afectados, Microsoft y Hugging Face, y el artículo propone mitigaciones criptográficas y de sistema para el razonamiento del lado del cliente. No se documenta explotación maliciosa en entornos reales.

Sources