Hilos · 3 noticias en 19 días
GitSpawn: ocho fallas hacen que siete agentes de código ejecuten comandos que vienen adentro del repositorio, sin sandbox y sin pedir permiso (02/09)
- Noticias
- 3
- Briefings
- 3
- Empieza
- Última
-
GitSpawn: ocho fallas hacen que siete agentes de código ejecuten comandos que vienen adentro del repositorio, sin sandbox y sin pedir permiso (02/09)
El mecanismo es viejo y aburrido, que es justamente por qué funciona: core.fsmonitor es una opción de rendimiento de Git cuyo valor es un comando que Git corre para saber qué archivos cambiaron, y Git la lee del.git/config del propio repositorio. Cualquier operación que refresque el índice —git status, git diff— lo ejecuta, y los agentes llaman a esos comandos en segundo plano al arrancar para saber en qué rama están. En Claude Code y Hermes Agent el payload dispara antes de que se acepte el prompt de confianza del workspace; en Qwen Code, antes de autenticarse; en Grok Build, con la primera tecla. No aplica a un git clone normal: hace falta que el repositorio llegue como archivos con su directorio.git intacto, o sea un ZIP compartido, un disco de red, una carpeta sincronizada o un pendrive. Ya hay fixes en goose 1.44.0, Codex CLI 0.131.0 y Claude Code 2.1.196; seguían vivos Hermes Agent, Qwen Code, Grok Build y un segundo camino en Claude Code vía claude ultrareview, que Manifold reconfirmó el 1 de septiembre. OpenAI publicó tres CVEs propios el mismo día. La mitigación casera es una línea: git config --global core.fsmonitor false. The Hacker News · Manifold Security
The Hacker News Manifold Security OpenAI Claude Grok Qwen Claude Code
-
Plugin4Shell deja que el dueño del repositorio de un plugin cambie el código que instalan cuatro agentes de código, incluso con la versión fijada por hash (18/09)
Air Security encontró que Claude Code, Codex, GitHub Copilot y Gemini CLI buscan el snapshot fijado por el marketplace pero nunca verifican que el código que terminan teniendo coincida con ese hash. En un host que permita nombres de rama con forma de hash de commit, el dueño del repo apunta ese nombre a otro código y el agente lo instala mientras sigue informando que está en la versión bloqueada; como un plugin corre con los mismos permisos que la persona, el código cambiado llega a sus archivos, credenciales guardadas y sistemas. GitHub no permite esos nombres, así que un plugin instalado desde GitHub no queda expuesto a esta variante —y los catálogos por defecto de estos agentes apuntan todos a GitHub—, pero sí funciona en Bitbucket o en un git propio, que los agentes también soportan. Anthropic lo corrigió en Claude Code 2.1.179 y OpenAI en Codex 0.146.0; Copilot no tiene arreglo y Google no va a parchear el Gemini CLI, que está retirando. Air construyó el ataque en mayo y avisó en junio; al 18 de septiembre no había CVE asignado ni aviso de seguridad de ninguno de los cuatro, ni señal de uso real. The Hacker News · Air Security
The Hacker News Air Security OpenAI Anthropic Google GitHub Claude Gemini Claude Code GitHub Copilot Gemini CLI
-
Heapjack y Overpatch: dos escapes del sandbox de Codex, uno de ellos desde el modo más restringido y sin mostrar nada en pantalla (20/09)
Oren Yomtov, de Accomplish AI, los reportó el 12 de agosto y OpenAI los arregló en ocho días. Heapjack es el grave: apunta a node_repl, un componente que Codex Desktop escribe en el archivo global ~/.codex/config.toml al instalarse, sin opción de desactivarlo y que los usuarios del CLI heredan sin que nadie les pregunte. Ese componente corre un solo proceso de Node con dos contextos de JavaScript, uno confiable con el código de OpenAI y otro no confiable con el del agente; el confiable se identifica con un token aleatorio. El problema es que los dos contextos comparten un mismo heap, así que el token es apenas una cadena en memoria: el código no confiable saca una foto del heap con v8.getHeapSnapshot(), prueba todas las cadenas con forma de UUID y distingue el acierto porque el error que devuelve cambia. Con el token escribe en el mismo pipe que usa el contexto confiable para hablarle al proceso padre nativo, que está fuera del sandbox. Todo eso corriendo en modo solo lectura, donde el agente no debería poder escribir nada. La consecuencia práctica: abrir el repositorio de otra persona en Codex y preguntarle algo sobre el código le da a quien escribió ese repositorio ejecución de comandos en tu máquina. Overpatch es más simple y también más doméstico: la herramienta apply_patch otorga permiso de escritura sobre la carpeta padre de cada ruta nombrada en un parche, así que nombrando /tmp se consigue escribir en la raíz del disco. Los dos bugs comparten la misma forma: el mecanismo que hace cumplir el límite vive adentro de lo que tenía que limitar. Arreglado en Codex Desktop 26.818.21641 y Codex CLI 0.149.0. BleepingComputer · Accomplish AI
El hilo se arma solo en cada build: junta noticias de días distintos que nombran a la misma entidad y repiten vocabulario que casi no aparece en el resto del archivo. Nadie lo edita a mano, así que puede dejar afuera una noticia o sumar una de al lado.