Por Canuto  

Una investigación de Adversa AI concluyó que 10 de 11 agentes de codificación de código abierto evaluados pueden ser burlados mediante viejos trucos de Bash, un problema estructural bautizado como GuardFall que abre la puerta a ataques de cadena de suministro, exfiltración de credenciales y comandos destructivos en entornos de desarrollo y CI.
***

  • Adversa AI probó 11 agentes de código abierto y halló que 10 dejaban abierta la puerta a bypasses con trucos clásicos de Bash.
  • El problema, llamado GuardFall, no sería un bug puntual sino una falla estructural entre los guardias del agente y la forma en que Bash reescribe comandos.
  • Los investigadores advirtieron riesgos como robo de credenciales de AWS o borrado de entornos, sobre todo si están activados los modos de auto-ejecución.


Los agentes de codificación impulsados por inteligencia artificial están ganando espacio en flujos de trabajo de desarrollo, auditoría y automatización. Sin embargo, una nueva investigación advierte que esa comodidad puede abrir una superficie de ataque delicada cuando estas herramientas interactúan con el shell del sistema.

Adversa AI identificó una falla estructural en múltiples agentes de código abierto que permite burlar sus controles mediante técnicas antiguas de Bash. El hallazgo fue bautizado como GuardFall y apunta a un problema de diseño más que a un error puntual en una sola herramienta.

Según la investigación reseñada por SecurityWeek, el riesgo surge cuando un agente ingiere instrucciones maliciosas ocultas en contenido aparentemente legítimo. Eso puede incluir README, Makefiles, páginas web obtenidas por el agente o incluso servidores MCP maliciosos.

El punto más preocupante es que estos agentes suelen operar con la misma autoridad de la cuenta del desarrollador. En ese contexto, un comando reinterpretado por Bash puede terminar exfiltrando secretos o ejecutando acciones destructivas con permisos reales.

Para un público que sigue de cerca la intersección entre IA, software y seguridad, el caso resulta relevante porque expone una tensión central. Los modelos pueden parecer prudentes al leer texto, pero su cadena de ejecución real depende de herramientas heredadas con comportamientos complejos y poco transparentes.

Qué descubrió Adversa AI sobre GuardFall

El trabajo de Adversa AI partió de un caso concreto de evasión en el gate de aprobación del proyecto NousResearch/hermes-agent. Allí, los investigadores detectaron que era posible saltar una lista de denegación basada en regex con unas 30 reglas mediante reescrituras del shell.

Esa observación llevó al equipo a ampliar el análisis hacia los agentes de codificación y uso computacional de código abierto más populares a mayo de 2026. La selección se basó en estrellas de GitHub y actividad de la comunidad.

En total, Adversa evaluó 11 agentes populares, incluidos Hermes, OpenCode, Roo-code y otros. De acuerdo con Omer Ben Simon, investigador principal de la firma, 10 de ellos dejaban abierto el vacío estructural de una de cuatro maneras y solo uno lo cerraba.

La investigación define GuardFall como un patrón de bypass contra guardias basados en patrones. En términos simples, el filtro aprueba un comando porque lo lee como texto inocuo, pero Bash deshace la ofuscación después y lo convierte en otra cosa antes de ejecutarlo.

Ese desfase entre lo que inspecciona el agente y lo que realmente interpreta el shell es el núcleo del problema. No se trata solo de una mala expresión regular, sino de una discrepancia arquitectónica entre dos capas con lógicas distintas.

El informe describe cinco clases de técnicas, identificadas de la A a la E. Entre ellas, la clase E fue la más exitosa, ya que emplea formas alternativas de argv para lograr el mismo efecto destructivo.

Según los investigadores, la clase E logra sobrevivir a la mayoría de los guardias, incluido el más fuerte dentro de su encuesta. La razón es que el análisis por banderas requiere saber, para cada binario, qué combinaciones de argumentos lo transforman de benigno a destructivo.

Por qué Bash sigue siendo un riesgo tres décadas después

Bash, la reescritura GNU del shell Bourne original para Linux en 1989, sigue siendo una pieza central en incontables entornos de desarrollo. Precisamente por esa ubicuidad, sus comportamientos históricos todavía pueden tener efectos inesperados cuando se integran con sistemas modernos de IA.

Adversa señaló como ejemplo trucos clásicos como la eliminación de comillas y el uso del espacio $IFS. Estas técnicas no son nuevas dentro de la cultura del shell, pero sí se vuelven especialmente problemáticas cuando un agente intenta evaluar peligrosidad solo a nivel textual.

El shell no ejecuta siempre lo que parece estar escrito de forma literal. Antes de correr un comando, Bash puede expandir, descomentar y reescribir el texto, lo que crea una diferencia material entre la intención aparente y el resultado final.

Ese detalle importa mucho en agentes que automatizan tareas sensibles. Si el guardia inspecciona una cadena sin normalizarla, el sistema puede aprobar algo que luego derive en una instrucción capaz de borrar archivos o robar credenciales.

La investigación también aclara que estos bypasses tienen precondiciones y no funcionan de manera universal en cualquier escenario. Una de ellas es la cooperación del modelo de lenguaje, que a veces sí rechaza instrucciones peligrosas si se le presentan de forma directa.

Por ejemplo, si alguien le ordena abiertamente ejecutar un comando como rm, el modelo suele negarse al reconocerlo como riesgoso. El problema aparece con peticiones indirectas o camufladas, como objetivos dentro de un Makefile o texto ingerido desde una fuente externa.

En otras palabras, la amenaza depende menos de un mensaje frontal y más de la capacidad del atacante para insertar instrucciones en el contexto correcto. Ese matiz acerca el problema a los ataques de cadena de suministro, donde el vector suele disfrazarse de dependencia o archivo legítimo.

Escenarios de ataque y consecuencias para desarrolladores y CI

Uno de los escenarios más delicados descritos por Adversa involucra repositorios maliciosos con README o Makefiles envenenados. Si un ingeniero usa un agente vulnerable para leer ese contenido, el sistema podría ser inducido a ejecutar comandos de forma silenciosa.

Entre las consecuencias citadas por Omer Ben Simon figuran la exfiltración de credenciales de AWS y el borrado completo de entornos de desarrollo. El riesgo aumenta si el operador aprobó previamente la ejecución automática o si el sandbox fue cambiado al modo local.

La situación se vuelve aún más sensible en pipelines de CI. Allí, los modos de auto-yes o auto-ejecución pueden estar habilitados por defecto, lo que reduce fricción operativa pero también disminuye barreras frente a un comando malicioso.

La investigación subraya que el agente termina emitiendo un comando destructivo con la autoridad del operador. Eso significa que el daño potencial no proviene de privilegios especiales del modelo, sino del acceso legítimo ya concedido a la herramienta.

Este punto conecta con un riesgo más amplio en ecosistemas de software e IA. A medida que agentes autónomos ganan permisos para compilar, testear, desplegar o modificar configuraciones, cualquier ambigüedad en la capa de ejecución se convierte en un multiplicador de impacto.

Adversa matizó que explotar GuardFall no es trivial. Aun así, advirtió que la complejidad técnica no ha sido un freno suficiente para actores maliciosos en incidentes previos de seguridad y cadena de suministro.

Por eso, la firma sostuvo que los mantenedores no deberían confiar en que la dificultad práctica baste como defensa. Desde su perspectiva, conviene eliminar la posibilidad estructural de estos trucos en lugar de asumir que el proceso es demasiado oscuro para ser explotado a escala.

El único agente que resistió y las recomendaciones inmediatas

Dentro de la muestra evaluada, Continue fue el único agente que logró sostener un guardia frente a las pruebas de Adversa. Según los investigadores, de 21 casos de bypass presentados al evaluador, cero alcanzaron allowedWithoutPermission.

Además, los 12 casos canónicos destructivos fueron correctamente degradados, siempre según el análisis citado. Aunque el diseño no fue descrito como perfecto, sí destacó por cerrar la mayor parte estructural de la superficie observada en la encuesta.

Adversa indicó que todavía quedaban abiertas la clase C dentro de un argumento entre comillas y toda la longitud de la clase E, basada en razonamiento por bandera-argv. Aun así, consideró que Continue fue el único en la muestra que resolvió la mayor parte del problema de forma interna.

Tras estudiar ese enfoque, los investigadores elaboraron un conjunto de recomendaciones para reducir el riesgo. Varias son defensas perimetrales mientras llegan cambios más profundos en el diseño de los propios agentes.

Una de las medidas sugeridas es ejecutar agentes desde un shell delimitado con $HOME redirigido. El envoltorio propuesto mantiene el directorio del proyecto, pero elimina el acceso directo a secretos comunes como ~/.ssh/, ~/.aws/ y el historial del shell.

Adversa describió esa contención como el stopgap más fuerte, porque permanece activa de forma permanente y no tendría una opción documentada de una sola bandera para evadirla. Es una defensa pragmática para reducir exfiltración de credenciales mientras persista la brecha estructural.

Otras recomendaciones incluyen desactivar los modos de auto-sí, auditar configuraciones enviadas por repositorios y bloquear la ejecución del agente en pull requests provenientes de forks. Son cambios operativos relativamente simples, pero pueden bajar mucho el riesgo inmediato.

La solución de fondo y lo que deja esta alerta para la industria

El informe sostiene que las mitigaciones externas solo compran tiempo. El problema de fondo persiste mientras el guardia del agente siga inspeccionando texto crudo y el shell continúe reinterpretándolo con sus propias reglas antes de ejecutar.

Ese desfase explica por qué una lista de patrones o una simple denegación por regex puede quedarse corta. Sin tokenización y canonización previas, el sistema de control termina vigilando una representación distinta a la que finalmente corre en Bash.

Por ello, Adversa planteó que la única solución de largo plazo es implementar dentro del agente un guardia al estilo de Continue. En concreto, propuso un evaluador capaz de tokenizar y canonizar comandos antes de tomar decisiones de permiso o bloqueo.

La lección excede a un puñado de proyectos de código abierto. A medida que la industria promueve agentes cada vez más autónomos para programar, operar infraestructura o mover datos sensibles, la seguridad de las capas heredadas deja de ser un detalle secundario.

También hay una dimensión cultural relevante para equipos técnicos y empresas. Muchas organizaciones asumen que el peligro principal en IA generativa está en el modelo, cuando a menudo el riesgo real aparece en la unión entre el modelo, las herramientas y los permisos otorgados.

En el caso de GuardFall, la amenaza no nace de una supercapacidad de la IA, sino de una vieja astucia del shell aplicada sobre sistemas que automatizan confianza. Esa combinación entre herencia técnica y autonomía operativa puede resultar especialmente costosa en entornos productivos.

Para desarrolladores, equipos DevOps y responsables de seguridad, la advertencia es clara. Si un agente puede leer contenido no confiable y luego ejecutar comandos con autoridad real, la validación textual no basta y el endurecimiento del entorno deja de ser opcional.


Imagen original de DiarioBitcoin, creada con inteligencia artificial, de uso libre, licenciada bajo Dominio Público.

Este artículo fue escrito por un redactor de contenido de IA y revisado por un editor humano para garantizar calidad y precisión.


ADVERTENCIA: DiarioBitcoin ofrece contenido informativo y educativo sobre diversos temas, incluyendo criptomonedas, IA, tecnología y regulaciones. No brindamos asesoramiento financiero. Las inversiones en criptoactivos son de alto riesgo y pueden no ser adecuadas para todos. Investigue, consulte a un experto y verifique la legislación aplicable antes de invertir. Podría perder todo su capital.

Suscríbete a nuestro boletín