Manifold Security ha divulgado ocho fallos de seguridad en siete agentes de codificación por línea de comandos basados en IA. En estos fallos, la configuración del propio repositorio Git especifica un comando que el agente ejecuta en la máquina del desarrollador. Cuatro de ellos siguen sin parchear en la fecha de publicación.

El comando se ejecuta con los permisos del usuario, fuera de la sandbox del agente y sin ninguna ventana de aprobación. Para que la explotación sea posible, el repositorio debe llegar como archivos con su directorio .git intacto, lo cual ocurre con archivos comprimidos, unidades compartidas, carpetas sincronizadas o memorias USB. Un clon normal no preserva esta configuración maliciosa.

Se han publicado correcciones para goose, Claude Code y Cursor. Sin embargo, Hermes Agent, Qwen Code, Grok Build y otra vía en Claude Code seguían ejecutando comandos suministrados por el repositorio cuando Manifold los volvió a probar el 1 de septiembre.

OpenAI publicó tres CVEs el mismo día para la misma clase de vulnerabilidad en Codex, acreditando a tres grupos de investigación independientes. Según OpenAI, 'el ayudante se ejecuta fuera de la sandbox de comandos de Codex y sin una solicitud de aprobación del usuario, lo que permite que código controlado por el atacante se ejecute con los privilegios del usuario. Ese código puede leer, modificar o eliminar archivos del usuario y acceder a otros recursos disponibles en su cuenta'.

En Claude Code y Hermes Agent, la carga útil se activa antes de que se acepte la solicitud de confianza del espacio de trabajo; en Qwen Code, antes de que el usuario se autentique; y en Grok Build, al primer golpe de teclado.

La vulnerabilidad reside en core.fsmonitor, una opción de rendimiento de Git cuyo valor es un comando que Git ejecuta para identificar archivos modificados. Git lee esa configuración desde el .git/config del propio repositorio. Cualquier operación que actualice el índice, como 'git status' o 'git diff', ejecuta ese comando. Los agentes llaman a estos comandos en segundo plano para determinar la rama actual y los archivos cambiados, sin tocar la configuración del repositorio.

Manifold publicó estos hallazgos con el nombre de GitSpawn, detallando cinco de los ocho casos, y afirma haber encontrado el patrón en más agentes de los que nombra. La compañía comenta: 'La vulnerabilidad no está en el modelo ni en nada nuevo. Está en la fontanería ordinaria, el subproceso que un agente lanza al inicio de la sesión para averiguar dónde se encuentra'.

Lista de agentes y versiones afectadas: goose (todas las versiones anteriores a 1.44.0, corregido en 1.44.0); Codex CLI (0.102.0 a 0.130.0, corregido en 0.131.0); Codex Desktop para macOS (260202.0859 a 26.513.31313, corregido en 26.519.22136); Codex Desktop para Windows (26.304.38 a 26.513.40821, corregido en 26.519.21041; paquete de Microsoft Store 26.304.38.0 a 26.513.4821.0, corregido en 26.519.2081.0); Claude Code (confirmado por Manifold en 2.1.193 y corregido en 2.1.196 en la vía core.fsmonitor; la vía 'claude ultrareview' confirmada activa en 2.1.252); Hermes Agent (0.18.2 y 0.21.0 confirmados por Manifold, corrección pendiente); Qwen Code (0.19.6 y 0.22.3 confirmados por Manifold, corrección pendiente); Grok Build (0.2.93 y 1.0.13 confirmados por Manifold, corrección pendiente).

En goose, el comando 'goose review' construye sus invocaciones a Git con un solo flag de configuración '-c core.quotePath=off' y no elimina nada más. GitHub asignó a CVE-2026-72718 una puntuación base CVSS 4.0 de 7.0 en un aviso que acredita a Francisco Rosales, siendo la única puntuación entre estos hallazgos. El aviso señala: 'Ejecutar goose review dentro de un repositorio malicioso ejecuta código del atacante, sin mensaje enviado, sin llamada al modelo, sin aprobación de herramientas ni aviso de confianza. El comando se ejecuta antes de que goose contacte con el modelo'.

Sonar informó del mismo problema en abril, señalando que Anthropic ya había modificado la secuencia de inicio una vez para cerrarlo, y también identificó la misma evasión del diálogo de confianza en Visual Studio Code anterior a 1.63.1 (CVE-2021-43891) y en IDEs de JetBrains anteriores a 2021.3.1 (CVE-2022-24346). Según Sonar: 'En la versión 2.0.34, Claude se actualizó para mitigar la vulnerabilidad específica al dejar de ejecutar git status antes de que el usuario aprobara el diálogo de confianza. Sin embargo, persistió un problema relacionado'.

La versión 2.0.34 se lanzó el 5 de noviembre de 2025, y Manifold informa del mismo comportamiento de inicio presente nuevamente en 2.1.193, lanzada el 25 de junio de 2026. Anthropic ya ha divulgado fallos de ejecución previa a la confianza en Claude Code, y su aviso de junio para CVE-2026-55607 identifica la ejecución de fsmonitor durante operaciones de worktree.

Qué queda sin parchear

Cinco de los informes de Manifold resultaron ser duplicados de hallazgos que otros investigadores habían presentado de forma independiente, uno de ellos el mismo día. El informe sobre core.fsmonitor en Claude Code se presentó el 26 de junio y, según Manifold, se corrigió en 2.1.196 el 29 de junio. Sin embargo, el informe se cerró como duplicado de otro presentado antes ese mismo día. Anthropic no publicó ningún aviso para este caso, y The Hacker News confirmó el 2 de septiembre que el aviso publicado para el paquete npm no cubre ninguno de los dos hallazgos de Claude Code.

La segunda vía en Claude Code, alcanzada a través de 'claude ultrareview', activa una clave de configuración de Git diferente que Manifold no ha revelado. El problema sigue activo y Manifold lo confirmó en la versión 2.1.252 el 1 de septiembre, frente a la versión actual 2.1.258. Ninguna fuente indica si las versiones posteriores lo han cerrado.

El centro de respuesta de seguridad de Alibaba aceptó el informe de Qwen Code el 7 de julio. The Hacker News confirmó a través del registro npm el 2 de septiembre que 0.22.3, la versión que Manifold volvió a probar, es la última versión publicada.

Nous Research, la empresa de Hermes Agent -que se usó sin supervisión en una intrusión contra una red gubernamental tailandesa en julio-, recibió seis intentos de contacto a través de cinco canales y dejó el aviso privado sin clasificar, según Manifold. VulnCheck asignó el CVE-2026-71963; The Hacker News no encontró ningún registro publicado para ese identificador en la lista CVE de MITRE el 2 de septiembre, donde los identificadores adyacentes sí son registros publicados de VulnCheck.

xAI cerró un informe anterior de la misma clase como informativo el 1 de julio y el informe de Manifold del 14 de julio como duplicado de aquel. Una investigación separada sobre la misma versión 0.2.93 descubrió que Grok Build subía repositorios Git completos al almacenamiento de xAI, algo que la compañía abordó en X en lugar de mediante un aviso.

Manifold documentó la misma clase en Cursor CLI tres semanas antes, donde un comando de configuración suministrado por el repositorio se ejecutaba antes de la solicitud de confianza del espacio de trabajo y fuera de la sandbox.

Ninguna fuente informa de explotación de estos fallos. The Hacker News consultó el catálogo de vulnerabilidades explotadas conocidas de la agencia de seguridad de infraestructura y ciberseguridad de EE.UU. el 2 de septiembre, versión 2026.09.01, con 1.687 entradas, y no encontró ninguno de los CVEs listados.

El abuso de FSMonitor explota una característica legítima, no un error. Aprovecha la intersección entre la flexibilidad de Git y la automatización de los IDEs modernos para convertir la apertura de un repositorio en una ejecución de código, según Cobalt en un informe de red team de diciembre.

Chequeos recomendados

  • Inspeccionar .git/config antes de abrir un directorio recibido con un agente, buscando core.fsmonitor, core.hooksPath y attr.tree junto con un filtro limpio o de proceso.
  • Ejecutar git config --get core.fsmonitor dentro de cualquier repositorio que llegue como archivos.
  • Ejecutar git config --global --list | grep fsmonitor para auditar la configuración global.
  • Configurar git config --global core.fsmonitor false para deshabilitar la opción por defecto.
  • Los vendedores de agentes deben eliminar la configuración en las llamadas en segundo plano, por ejemplo usando git -c core.fsmonitor=false status.

La versión actual de Codex CLI al 2 de septiembre es la 0.152.1, por lo que las instalaciones fijadas por debajo de 0.131.0 siguen expuestas.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity