El 10 de mayo de 2026, el equipo de investigación de Sysdig documentó el primer ataque registrado en que un agente de inteligencia artificial orquestó la post-explotación de forma autónoma: desde el acceso inicial hasta vaciar una base de datos interna, todo en menos de 60 minutos. El punto de entrada fue CVE-2026-39987, un fallo crítico sin parchear en Marimo, herramienta de notebooks Python.
La vulnerabilidad: un WebSocket sin autenticación
CVE-2026-39987 es un fallo de ejecución remota de código en Marimo, una herramienta de notebooks Python de código abierto, funcionalmente similar a Jupyter. El endpoint WebSocket `/terminal/ws` no validaba autenticación, lo que permitía a cualquier atacante no autenticado obtener una sesión de terminal completa con una única petición. El fallo afectaba a todas las versiones hasta la 0.20.4 incluida; la versión 0.23.0 lo corrige.
Cuatro movimientos, menos de una hora
A las 18:23:44 UTC, un atacante conectó desde una dirección IP de Indonesia al endpoint vulnerable. En los segundos siguientes extrajo credenciales de AWS almacenadas en archivos del sistema (`/app/.env`, `~/.aws/credentials`, `/proc/*/environ`). Acto seguido, desde once IPs distintas de Cloudflare Workers —para dificultar el rastreo—, realizó doce llamadas a AWS Secrets Manager en 22 segundos y recuperó una clave SSH privada. Con esa clave abrió ocho sesiones cortas contra un servidor bastion interno y, desde ahí, exfiltró el esquema completo y el contenido de una base de datos PostgreSQL interna. La contraseña de dicha base de datos ya la había obtenido del archivo `~/.pgpass` del host comprometido. La fase de exfiltración completa duró menos de dos minutos.
Las cuatro firmas del agente LLM
Sysdig identificó cuatro indicios de que la post-explotación la orquestó un modelo de lenguaje grande actuando como agente autónomo. El atacante construyó volcados SQL sin haber inspeccionado previamente el esquema de la base de datos, lo que implica razonamiento en tiempo real. Los comandos incluían separadores estructurados como `echo ‘—‘` y flags para deshabilitar el paginador de `psql`, habituales en código que procesa output de forma automatizada. El agente encadenó los resultados de comandos anteriores como entrada para los pasos siguientes. Y en el flujo de comandos apareció un comentario en chino —«看还能做什么», traducido como «ver qué más podemos hacer»— que Sysdig interpreta como un fragmento del razonamiento interno del modelo filtrado al stream de salida.
Contexto y recomendaciones
Sysdig calificó este incidente como el primer ataque impulsado por un agente LLM documentado públicamente. El equipo recomienda actualizar Marimo a la versión 0.23.0 o posterior, auditar los entornos con instancias accesibles desde internet para detectar archivos de credenciales expuestos, y rotar de inmediato credenciales de AWS, contraseñas de bases de datos y claves SSH en cualquier sistema que haya podido estar accesible.
El análisis de Telecomatik
Para una pyme que utiliza herramientas de análisis de datos —Marimo, Jupyter u otras— en entornos conectados a internet, este incidente ilustra un riesgo concreto y subestimado. El vector de entrada fue una herramienta de desarrollo expuesta sin autenticación, exactamente el tipo de descuido que ocurre cuando equipos pequeños priorizan la comodidad operativa frente a la seguridad. Lo más relevante no es la sofisticación del ataque sino su velocidad: menos de una hora desde el acceso inicial hasta la exfiltración de datos, un margen que hace inviable cualquier respuesta manual. La conclusión práctica es doble: ningún servicio capaz de ejecutar código debe ser accesible desde internet sin autenticación fuerte, y los archivos de credenciales (`.env`, `~/.aws/credentials`) no deben existir en sistemas expuestos.
Vía: The Hacker News
Fuentes consultadas: