Riesgos de inyección de shell en agentes de codificación AI
Resumen rápido
Un estudio reciente ha descubierto que los agentes de codificación AI de código abierto son vulnerables a riesgos de inyección de shell que han sido conocidos durante décadas. La investigación encontró que diez de los once agentes populares que se probaron eran susceptibles a un ataque que puede sortear las comprobaciones de seguridad.
GuardFall: los filtros de seguridad de los agentes de IA se saltan con un truco de comillas
La firma Adversa AI ha publicado GuardFall, una investigación que demuestra que 10 de los 11 agentes de codificación de IA open source más populares ejecutan comandos que sus propios filtros de seguridad deberían bloquear. El truco no es sofisticado: aprovecha cómo Bash trata las comillas.
El problema
Muchos agentes de codificación tienen una lista de comandos "peligrosos" (como rm) que se supone que no deben ejecutar. El problema es que comparan la cadena literal que ellos ven, no lo que Bash interpreta tras eliminar las comillas. Escribir r''m o r""m no coincide con el patrón rm del filtro, pero Bash elimina las comillas vacías y ejecuta rm igualmente. Lo mismo ocurre con la expansión de variables como $IFS.
El vector de entrega es lo verdaderamente peligroso: un atacante esconde estas instrucciones en un README, un Makefile o una issue de un proyecto. Cuando el agente de IA lee el repositorio y actúa sobre él —algo para lo que está diseñado—, auto-ejecuta el comando ofuscado. Es un ataque de cadena de suministro contra el flujo de trabajo del desarrollador.
De 11 agentes probados, 10 eran vulnerables: opencode, Goose, Cline, Roo-Code, Aider, Plandex, Open Interpreter, OpenHands, SWE-agent y Hermes. El único que resistió fue Continue. Al tratarse de un fallo de diseño común y no de productos comerciales concretos, los investigadores no asignaron CVEs individuales.
Recomendaciones inmediatas
- No ejecutes agentes de IA con permisos amplios sobre repositorios no confiables; aíslalos en contenedores efímeros sin acceso a datos sensibles.
- Revisa manualmente README, Makefiles y scripts de dependencias de terceros antes de que un agente actúe sobre ellos.
- Exige a las herramientas de IA que normalicen el comando (resolviendo comillas y variables) antes de aplicar el filtro de bloqueo.
- Aplica el principio de mínimo privilegio también a las cuentas de servicio que usan los agentes.
¿Estás cubierto en DefensOps?
DefensOps observa la ejecución que estos agentes disparan en el endpoint, no la lógica interna del agente:
- T1059 / T1059.004 – Ejecución de comandos y scripts (Unix Shell): la telemetría de procesos (OSQuery/Sysmon del catálogo nativo) detecta ejecuciones de shell ofuscadas —comillas insertadas,
$IFS, concatenaciones— que evaden filtros pero delatan intención. Disponible desde Essential. - T1195 – Compromiso de cadena de suministro: en el plan Advanced, el motor de correlación enlaza la lectura de un repositorio/dependencia con la posterior ejecución anómala de comandos destructivos.
- T1204 – Ejecución por el usuario/agente: se marca la cadena "herramienta de desarrollo → shell hija con comando peligroso".
👉 Consulta los planes de DefensOps y solicita una demo
Fuentes: The Hacker News · Adversa AI
¿Estás cubierto en DefensOps?
DefensOps detecta esta amenaza desde el plan Essential.
Técnicas MITRE ATT&CK: T1059, T1059.004, T1195, T1204
- Ejecución de comando ofuscado en shell (evasión de filtro) · T1059 · plan Essential
- Compromiso de cadena de suministro vía repositorio o dependencia · T1195 · plan Advanced
Protege tu organización con DefensOps
SIEM, detección gestionada y respuesta. Descubre cómo cubrimos amenazas como esta.