Pillar Security divulgó TrustFall esta semana — una clase de vulnerabilidades afectando las cuatro herramientas AI command-line de coding mayores: Claude Code de Anthropic, Gemini CLI de Google, Cursor CLI y Copilot CLI de GitHub. El patrón común: cada herramienta lee archivos de configuración que shipean dentro de un proyecto, cada herramienta iniciará programas helper a los que esos archivos config apuntan, y cada herramienta pide permiso con un solo diálogo que, en la mayoría de casos, default a «sí». Entonces un atacante que puede hacerte clonar un repositorio malicioso — o abrir un pull request de outside contributors — puede disparar ejecución de código arbitrario en tu máquina vía una tecla. La instancia específica-Cursor tiene CVE-2026-26268; el patrón más amplio afecta las cuatro herramientas porque todas hicieron la misma asunción trust-model: archivos config shipados con proyecto son confiables.
La peor versión de esto es lo que pasa en continuous integration. Cuando Claude Code corre en un GitHub Action — el oficial que Anthropic publica — corre en modo headless. Sin terminal, sin humano, ni siquiera aparece un diálogo. Un pull request de un extraño shipea un archivo config malicioso, el CI runner lo levanta, y el programa helper ejecuta contra cualquier credencial al que ese runner tenga acceso: código fuente, claves de deploy, secrets de cloud, herramientas internas. El writeup de Pillar recorre cómo la cadena de ataque solo requiere un prerrequisito (el agente AI ejecutando autónomamente comandos de un repo que no posee), y ese es exactamente el workflow para el que estas herramientas están diseñadas. La causa raíz para Cursor fue una interacción de feature en Git que se vuelve explotable en el momento en que un agente AI ejecuta autónomamente operaciones Git en un repositorio no confiable. Las otras tres herramientas tienen variantes de la misma causa raíz: la AI hizo exactamente lo que su config decía hacer, el config vino de un atacante, y el modelo no auditea procedencia del config.
El punto más amplio es algo que la categoría de herramientas AI-coding ha tenido que aprender a la fuerza: los agentes que ejecutan código en tu nombre heredan tu blast radius. Si tienes una credencial que puede deployar a producción, la AI que usas tiene esa credencial también. Diálogos auto-aprobación que default a sí son el equivalente de seguridad de los prompts «¿quieres correr este control ActiveX?» de inicios-2000 — una casilla que esconde una concesión de permiso. Para desarrolladores usando estas herramientas casualmente (scripts one-off, proyectos personales), el riesgo práctico está contenido. Para desarrolladores usándolas en el trabajo — especialmente en pipelines CI, en máquinas con credenciales de empresa, o en entornos con acceso privilegiado — el modelo de riesgo necesita una actualización. El patrón TrustFall va a seguir encontrando variantes hasta que la categoría entera se mueva de «AI ejecuta por default a menos que la pares» a «AI propone por default a menos que apruebes» — que es más cerca de lo que Anthropic shipeó con Claude Code Auto Mode la semana pasada (cubierto aquí), pero no es todavía el default en otros lados.
Qué hacer ahora. Para usuarios de Claude Code: actualizar a la versión con el parche CVE, auditar tus pipelines CI para cualquier acción de agente AI corriendo en triggers PR de outside contributors, y verificar si algún archivo config de proyecto es leído por agentes durante tu build. Para usuarios Cursor: actualizar más allá de CVE-2026-26268 explícitamente. Para usuarios Gemini CLI y Copilot CLI: revisar los vendor advisories — los parches están saliendo a velocidades variadas. Para todos usando herramientas AI coding: el modelo de confianza donde archivos config shipean dentro de repos es conveniente pero comprometido; trata repositorios no confiables como tratarías adjuntos de email de extraños. La señal más amplia a nivel categoría: la seguridad de herramientas AI coding es ahora una clase reconocida de vulnerabilidad, y la investigación va a seguir encontrando más. Auto-aprobación es el modo de fallo a diseñar fuera, no la feature a dejar encendida por default.
