
Los controles de seguridad que supuestamente impiden que los agentes de codificación de IA ejecuten comandos peligrosos se pueden eludir utilizando trucos de shell que existen desde hace décadas.
Un nuevo estudio realizado por Adversa AI, denominado Bypass GuardFall, encontró que funciona contra 10 de 11 agentes populares de codificación de código abierto y uso de computadoras que probó. Sólo se creó «Continuar» para evitar esto.
¿Por qué es eso importante? Estos agentes ejecutan comandos de shell con permisos completos de cuenta. Al apuntar a un repositorio o paquete de software comprometido, las instrucciones ocultas pueden ejecutar comandos silenciosamente para borrar archivos o robar secretos accesibles a la cuenta, desde claves SSH y credenciales de la nube hasta todo lo que se encuentra en sus carpetas de inicio.
¿Cómo pasas al guardia?
La mayoría de estos agentes intentan mantenerlo seguro comparando cada comando con una lista de bloqueo de patrones peligrosos antes de ejecutarlo. El problema es que el comando se verifica como texto sin formato, mientras que bash reescribe ese texto antes de ejecutarlo. El shell elimina las comillas y expande el acceso directo, por lo que el filtro y el shell analizan dos cosas diferentes.
El ejemplo más simple: un filtro que monitorea rm sabe que r»m está bien. Esto se debe a que para el comparador de texto estas son cadenas diferentes. Bash eliminará las comillas vacías y ejecutará rm de todos modos.
La misma idea también funciona en otros formatos. Los comandos ocultos en base64 y canalizados al shell, o herramientas normales como find o dd, se vuelven destructivos con las banderas apropiadas.
Los investigadores llaman a esto una «práctica peligrosa y un tipo de problema» en lugar de un error, razón por la cual agregar patrones de lista de bloqueo no resolverá nada. No existe un único CVE para rastrear o parchear.
Deben existir dos cosas para que un ataque tenga éxito, ninguna de las cuales es exótica.
Primero, la IA necesita generar comandos maliciosos. Generalmente se rechaza un sencillo «ejecutar rm -rf», pero el mismo comando se emite como un paso de rutina, oculto dentro de un trabajo aparentemente normal, como un archivo de compilación o la respuesta de «documentación» de una herramienta. En segundo lugar, el agente debe ejecutarse por sí solo con el indicador de ejecución automática activado o el entorno limitado del contenedor desactivado. Ambos son rutinarios en tuberías automatizadas. Para las pruebas en vivo se utilizó Claude Sonnet 4.6.
Las otras 10 herramientas siguen sin estar disponibles en OpenCode, Goose, Cline, Roo-Code, Aider, Plandex, Open Interpreter, OpenHands, SWE-agent y el proyecto Hermesse (donde el error apareció por primera vez y está documentado en el rastreador de problemas de Hermes).

Las herramientas de investigación de Adversa incluían aproximadamente 548.000 estrellas de GitHub en mayo de 2026. Adversa demostró un ataque completo de extremo a extremo contra el binario Plandex en producción, y el mismo formato funcionó contra otros ocho. El estudio se describe como un estudio de laboratorio. No se informó ninguna explotación oficial.
El único agente que resiste se defiende leyendo el comando antes de que bash tome una decisión. Divide los comandos en las mismas partes que ejecuta el shell, verifica lo que realmente se ejecuta y mantiene una lista estricta de los comandos destructivos que están completamente bloqueados.
Esta protección se mantuvo para todas las cargas útiles en el modo de editor predeterminado de Continuar. El modo de ejecución automática de la línea de comando es débil. Algunas cargas útiles se escaparon, pero las más destructivas aún golpearon bloques duros. Adversa considera que el diseño es portátil y dice que la reimplementación requiere aproximadamente dos días de trabajo para un ingeniero experimentado.
que hacer ahora
Ninguna de las soluciones rápidas es una solución completa, pero reducirán la exposición hasta que se instalen las protecciones adecuadas.
El agente se ejecuta con $HOME como una carpeta desechable, por lo que no se puede acceder a secretos como ~/.ssh y ~/.aws. Desactive los indicadores de ejecución automática como –auto-exec, –auto-run, –auto-test, peligrosamente omitir permisos, etc., a menos que un humano realmente no pueda pausar el trabajo. No permita que el agente se ejecute en una solicitud de extracción desde una bifurcación que es una ruta fácil desde el archivo del atacante hasta el secreto. Trata los archivos de configuración como .aider.conf.yml que se envían dentro del repositorio como código que no es de confianza. Los maliciosos pueden provocar ataques a las ediciones que se aceptan inicialmente.
GuardFall siguió a una serie de hallazgos similares este año. El propio TrustFall de Adversa atacó a Claude Code, Cursor, Gemini CLI y Copilot CLI, y otra omisión de regla de denegación atacó a Claude Code.
Ataques como AutoJack y Agentjacking convirtieron el contenido contaminado en comandos que el agente ejecuta con los privilegios del propietario. El denominador común es simple. El texto que no es de confianza sigue llegando al shell real antes de que el guardia comprenda qué está haciendo realmente bash.
Source link
