Cómo escapan los agentes de código de su sandbox: 4 casos reales (DeepSeek, Codex, Mistral Vibe, brig)

By Carlos Montiel | Especialista en IA Empresarial
Read in English →
Publicado: 2026-10-06 | Por: Carlos Montiel | Lectura: ~6 minutos

Cuatro herramientas distintas, cuatro fallas distintas y un mismo patrón: el sandbox confía en algo que el agente puede manipular. Esta es la guía de referencia de cómo ocurren estos escapes y qué revisar antes de dar a un agente acceso a tu código.

Los cuatro casos, lado a lado

Un roundup de Adversa AI de octubre de 2026 reúne varias fallas recientes de agentes de código. Revisé los reportes originales de cuatro de ellas:

Herramienta Falla Corregido en DeepSeek Harness CVE-2026-82533 (CVSS 4.0: 9.4) 0.1.2-alpha.1 OpenAI Codex CLI "Overpatch" (apply_patch) 0.149.0 Codex Desktop "Heapjack" (V8 heap snapshot) build 26.818.21641 Mistral Vibe CVE-2026-87984 a 87988 2.25.4 (+ endurecimiento 2.25.5/7/8) brig (runner) GHSA-wp6x-29qx-fpr7 (CVSS 3.1: 8.2) 0.3.0

Patrón 1: autenticar por un dato que el agente controla

Según el análisis de Ox Security, DeepSeek Harness validaba su API local leyendo la cabecera Host: si decía loopback, la petición se consideraba confiable. El sandbox (bubblewrap/Seatbelt) limitaba escrituras de archivos pero dejaba abierta la red loopback, así que un agente confinado podía hacer un solo curl al puerto 3080, pasar su sesión a "danger-full-access" y desactivar las aprobaciones. Cronología publicada: reporte el 24 de agosto, parche el 27, CVE publicado el 8 de septiembre.

Patrón 2: la herramienta "segura" amplía sus propios permisos

El reporte de Accomplish AI describe dos escapes en Codex, ambos reportados el 12 de agosto y corregidos en ocho días. En "Overpatch", apply_patch concedía escritura sobre los directorios padre de las rutas del parche; nombrar /tmp abría escritura sobre el disco y un symlink permitía modificar ~/.zshrc, ejecutando comandos fuera del sandbox en el siguiente shell. En "Heapjack", el Node REPL de Codex Desktop guardaba un token de validación en el heap V8 accesible al código no confiable; con v8.getHeapSnapshot() se podía leer el token y falsificar peticiones al proceso padre.

Patrón 3: validar una versión "reducida" del comando y ejecutar la original

En Mistral Vibe, SecMate explica que la capa de permisos usaba Tree-sitter para extraer solo el nombre del comando y algunos argumentos, descartando asignaciones de entorno, redirecciones y expansiones, pero el shell recibía la cadena completa. Con PATH=./bin:$PATH cat README.md el verificador veía cat README.md (permitido) y el shell resolvía cat a un ejecutable del repositorio. La entrega requería contenido hostil en el repo (commits, documentación, issues) que el modelo convirtiera en una llamada a herramienta. La corrección fue "fail-closed": sintaxis que el verificador no puede modelar ya no se auto-aprueba.

Patrón 4: symlinks que se resuelven en el host

En brig, Endor Labs documenta que un agente puede reemplazar un subdirectorio del proyecto por un symlink; en la siguiente ejecución, brig resolvía el enlace en el host y montaba el destino con lectura y escritura dentro del sandbox. El espacio de trabajo tenía protecciones contra symlinks, pero el montaje del proyecto no. Los mantenedores propusieron llamarlo "project-mount symlink traversal" y no "sandbox escape", porque el aislamiento de la microVM seguía intacto.

Lo común: en ninguno de los casos el modelo "rompió" el sandbox por sí solo. Un componente del arnés (API local, herramienta de parches, verificador de comandos, montaje de rutas) confiaba en una entrada que el agente o el contenido que lee podía manipular.

Qué significa para una empresa que usa agentes de código

Checklist práctico: (1) mantén actualizadas las herramientas de agentes: todas estas fallas ya tienen parche; (2) no confíes en el sandbox como única barrera: ejecuta agentes en máquinas o contenedores sin credenciales de producción, SSH ni nubes montadas; (3) trata el contenido de repositorios externos (README, issues, commits) como entrada no confiable; (4) prefiere el modo con aprobación manual para repos que no controlas; (5) bloquea el tráfico loopback y de red del sandbox salvo lo estrictamente necesario. Si quieres evaluar cómo están desplegados los agentes en tu equipo, escríbenos a info@guatemalia.com.
Carlos Montiel
Arquitecto de Soluciones IA Empresarial
Especialista en LLMs, Agentes y Orquestación
guatemalia.com/#contacto · info@guatemalia.com

¿Necesitas implementar IA en tu empresa?

Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.

Contactar a Carlos Montiel

info@guatemalia.com