
El 5 de junio mergearon en Codex CLI el pull request #26210 bajo el tÃtulo «Encrypt multi-agent v2 message payloads». En papel suena bien: más privacidad, payloads cifrados, hardening. En la práctica, le borró el rastro de auditorÃa a todo lo que un subagente hace dentro de MultiAgentV2. Y cuando uno trabaja en sistemas, perder el rastro no es una feature: es un problema serio.
El reporte público en openai/codex#28058 lo explica con claridad. Antes de ese merge, cuando un agente lanzaba un spawn_agent, send_message o followup_task, el contenido del mensaje quedaba almacenado como texto plano en el rollout, en el history y en los archivos de trace del agente padre. PodÃas abrir el JSON, leerlo, y responder preguntas básicas: ¿qué tarea le pasé al subagente?, ¿qué le respondÃ?, ¿por qué existe este thread hijo en este rollout?
Qué cambió exactamente
El merge marca el parámetro message como cifrado y guarda solamente InterAgentCommunication.encrypted_content, dejando vacÃo InterAgentCommunication.content. O sea, el modelo recibe el mensaje cifrado (bien), pero el operador humano pierde la versión legible. El campo de auditorÃa simplemente desapareció.
Lo que más me molesta no es la decisión de cifrar —entiende uno la motivación, sobre todo si el contenido cruza procesos o máquinas—, sino que se hizo sin preservar una copia de auditorÃa en paralelo. Lo razonable era mantener el ciphertext para la entrega al modelo y agregar un campo adicional, no cifrado, persistido en el history, con el texto legible de la tarea. Cifrar el canal no te obliga a destruir el log local.
Por qué esto me importa como sysadmin
Llevo años mirando logs, traces y rollouts para responder tres preguntas:
- Qué le pedà al sistema.
- Qué decidió hacer.
- Por qué llegó a ese resultado.
Si me borran el segundo eslabón, la cadena se rompe. Y en IA agentica, donde un subagente puede llamar a otro y ese a otro, perder la trazabilidad del medio es como correr un servicio en producción con journald apagado. Funciona, hasta que deja de funcionar, y ahà no tienes con qué diagnosticar.
El detalle que sà está bien
El reporte separa correctamente este bug de #26753, que es sobre fallas de validación en tool schemas cifrados. Eso es señal de que la comunidad está empezando a mapear los modos de falla del cifrado en Codex, no solo a quejarse genéricamente. El issue pide algo concreto: que se conserve una copia de auditorÃa legible mientras se mantiene el canal cifrado para el modelo. Es una solución de ingenierÃa, no un capricho.
Si trabajas con Codex CLI en versiones post 0.137.0 y usas MultiAgentV2, abre un rollout y revisa si tus spawn_agent siguen teniendo texto humano o solo encrypted_content. Si ya están en blanco, documenta el caso antes de que se te olvide el contexto. Y si tienes un fork, este es un buen PR para enviar de vuelta: agregar el campo de auditorÃa legible al lado del cifrado no rompe el modelo, solo devuelve la visibilidad al operador.
La próxima vez que alguien te diga que «cifrar todo es más seguro», recuérdale que seguridad sin observabilidad es solo una fea forma de opacidad.
Fuente de inspiración: Regression: encrypted MultiAgentV2 messages remove readable task audit trail
