alexi.sh
Todos los artículosSeguridad del navegadorPrivacidad de redHerramientas de privacidadModelado de amenazasProgramación con IAHerramientas de dev

alexi.shLaboratorio de IA

ai-coding

GhostApproval: el fallo de los asistentes de código IA que escribe archivos sin tu permiso (2026)

PrivSec Lab4 min de lectura
Un editor de código abierto en la pantalla de un portátil en una sala oscura

Wiz reveló GhostApproval, un fallo de frontera de confianza en al menos seis asistentes de código IA: un repositorio malicioso puede engañar al agente para que escriba fuera de tu proyecto mediante un enlace simbólico, a veces antes de que apruebes. Qué es, qué herramientas se vieron afectadas y cómo protegerte.

GhostApproval es el nombre que Wiz dio a un fallo que encontró en al menos seis asistentes de código IA populares, revelado en julio de 2026. En corto: un repositorio trampa puede engañar a tu agente de código para que escriba archivos fuera de tu proyecto - y, en los peores casos, antes de que pulses "aprobar". Es un buen recordatorio de que dejar que un agente toque tu sistema de archivos solo es tan seguro como lo que el diálogo de aprobación muestra de verdad. Esto es qué es GhostApproval, qué herramientas se vieron afectadas y cómo protegerte.

Cómo funciona GhostApproval

El truco combina dos viejas debilidades: seguir enlaces simbólicos (CWE-61) y una interfaz engañosa (CWE-451). Un repo malicioso contiene un symlink - un archivo que en realidad es un puntero a otra ruta. Su nombre parece inocente, digamos project_settings.json, pero apunta a algo sensible como ~/.ssh/authorized_keys. Pides al agente que edite "el archivo de ajustes"; sigue el enlace y escribe en el destino real - por ejemplo añadiendo la clave SSH de un atacante. Lo clave: el diálogo de confirmación muestra el nombre inocente del symlink, no el destino resuelto. Como dice Wiz, "el agente lo sabía, el usuario no": el propio razonamiento del modelo a veces reconocía la ruta peligrosa mientras el diálogo la ocultaba.

La variante peligrosa: escribe antes de que apruebes

En algunas herramientas la escritura ocurre antes de que aparezca el diálogo Aceptar/Rechazar, convirtiendo la confirmación en un botón de deshacer en vez de una barrera. Wiz describe exactamente esto en Windsurf: la clave SSH de un atacante se escribía en ~/.ssh/authorized_keys antes de que el usuario pudiera aprobar. Es una ejecución remota de código previa a la autorización - el control humano llega después de que el daño ya está hecho.

Un terminal listando archivos sobre un teclado retroiluminado - GhostApproval abusa de un archivo enlazado por symlink para escribir fuera de la carpeta que crees editar.

Qué herramientas se vieron afectadas y su estado

Wiz probó seis asistentes y reportó una variante en cada uno. Este es el estado divulgado, reportado de forma neutral:

  • Cursor - corregido (CVE-2026-50549, versión 3.0+).
  • Amazon Q Developer - corregido (CVE-2026-12958, language server 1.69.0).
  • Google Antigravity - corregido (desplegado en mayo de 2026).
  • Augment - acusó recibo; sin parche en la divulgación.
  • Windsurf - acusó recibo; la variante previa a la autorización, sin parche en la divulgación.
  • Anthropic Claude Code - Anthropic considera el problema fuera de su modelo de amenazas, sobre la base de que el usuario confirma que confía en un directorio al iniciar Claude Code por primera vez; por separado, Claude Code añadió avisos de symlinks en una versión anterior.

Por qué importa más allá de un fallo

GhostApproval no es realmente el error de un solo proveedor - es un patrón. Dos decisiones de diseño lo causan: un sandbox superficial que no resuelve la ruta canónica de un archivo antes de actuar, y aprobaciones humanas formales en vez de informadas, porque apruebas un nombre en lugar de la acción real. Cualquier agente con amplio acceso al sistema de archivos puede caer en esta trampa. Es la misma clase de riesgo que cubrimos en nuestra guía de seguridad de agentes de IA: autonomía más acceso significa que una mala instrucción se convierte en una acción real.

Cómo protegerte

  • Actualiza tus herramientas ya. Varios proveedores lo han parcheado; usa la última versión de tu asistente de código.
  • Confía solo en repositorios de confianza. Ten cuidado al dejar que un agente actúe en repos desconocidos o recién clonados.
  • Usa el menor privilegio. Ejecuta los agentes en un contenedor o sandbox que no pueda alcanzar ~/.ssh, tus credenciales de nube u otros secretos.
  • Lee los diálogos. Ten cuidado con ediciones de archivos de configuración y dotfiles, y prefiere herramientas que resuelvan los symlinks y muestren la ruta de destino real.

En resumen

GhostApproval demuestra que el "control humano" solo vale lo que el diálogo revela de verdad. Un symlink puede dirigir a un agente bienintencionado hacia tus secretos, y una confirmación que oculta la ruta real - o aparece tras la escritura - da una falsa tranquilidad. Actualiza tu asistente de código IA, restringe lo que puede tocar, y considera las aprobaciones útiles solo cuando te muestran el destino verdadero.

Photo: Pexels (source)

También disponible en

FAQ

¿Qué es GhostApproval?
GhostApproval es un patrón de seguridad que los investigadores de Wiz encontraron en al menos seis asistentes de código IA, revelado en julio de 2026. Un repositorio malicioso contiene un enlace simbólico (symlink) con un nombre inocente pero que apunta a un archivo sensible fuera de tu proyecto - por ejemplo un archivo llamado project_settings.json que en realidad apunta a ~/.ssh/authorized_keys. Cuando pides al agente que edite ese archivo, sigue el enlace y escribe en el destino real, mientras el diálogo de aprobación solo muestra el nombre inocente. Wiz lo resumió así: el agente lo sabía, el usuario no.
¿Está corregido GhostApproval?
En parte. Wiz lo notificó a seis proveedores. Según Wiz, Cursor (CVE-2026-50549, versión 3.0+), Amazon Q Developer (CVE-2026-12958, language server 1.69.0) y Google Antigravity han publicado correcciones. Augment y Windsurf acusaron recibo pero, en el momento de la divulgación, no habían publicado un parche. Anthropic considera el problema fuera de su modelo de amenazas, sobre la base de que el usuario confirma que confía en un directorio al iniciar Claude Code; por separado, Claude Code añadió avisos de symlinks en una versión anterior. En la práctica: actualiza tus herramientas.
¿Qué asistentes de código IA se vieron afectados?
Wiz probó seis y encontró una variante en cada uno: Cursor, Amazon Q Developer, Google Antigravity, Augment, Windsurf y Anthropic Claude Code. La gravedad iba de un problema de interfaz corregible a una ejecución remota de código antes de la autorización, según la herramienta. Las respuestas de los proveedores difieren, así que asume que cualquier agente de código con amplio acceso al sistema de archivos podría estar expuesto a fugas de ruta por symlink, salvo que resuelva y muestre la ruta de destino real.
¿Puede GhostApproval ejecutar código en mi máquina?
En las peores variantes, en la práctica sí. Al escribir una clave SSH controlada por el atacante en ~/.ssh/authorized_keys, un atacante puede obtener acceso remoto a la máquina del desarrollador, lo que es ejecución remota de código en la práctica. Wiz describió el caso más grave (en Windsurf) como una RCE previa a la autorización, porque el archivo se escribía antes de que aparecieran los botones Aceptar o Rechazar - así que la confirmación actuaba como deshacer, no como barrera.
¿Cómo me protejo de GhostApproval?
Actualiza tu asistente de código IA a la última versión, ya que varios proveedores lo han parcheado. Deja que un agente actúe solo dentro de repositorios de confianza, y ten cuidado al abrir repos desconocidos. Ejecuta los agentes con el menor privilegio - idealmente en un contenedor o sandbox que no pueda alcanzar ~/.ssh, tus credenciales de nube u otros secretos. Lee con atención los diálogos de aprobación, sobre todo ediciones de archivos de configuración o dotfiles, y prefiere herramientas que resuelvan los symlinks y muestren la ruta de destino real.