
Una investigación reciente ha revelado más de 30 vulnerabilidades de seguridad en varios Entornos de Desarrollo Integrado (IDEs) impulsados por inteligencia artificial (IA). Estos fallos, denominados colectivamente “IDEsaster”, combinan primitivas de inyección de prompts con características legítimas de los IDEs para lograr la exfiltración de datos y la ejecución remota de código (RCE).
El investigador de seguridad Ari Marzouk (MaccariTA) descubrió que las vulnerabilidades afectan a IDEs y extensiones populares como Cursor, Windsurf, Kiro.dev, GitHub Copilot, Zed.dev, Roo Code, Junie y Cline, entre otros. De estas, 24 vulnerabilidades han recibido identificadores CVE.
La cadena de ataque IDEsaster
La investigación destaca que los IDEs con IA y los asistentes de codificación subestiman los riesgos de seguridad al integrar agentes de IA autónomos. El ataque “IDEsaster” encadena tres vectores principales:
- Omisión de protecciones (Guardrails) del LLM: Se utiliza la inyección de prompts para secuestrar el contexto del modelo de lenguaje grande (LLM) y obligarlo a ejecutar las instrucciones del atacante.
- Llamadas de herramientas auto-aprobadas: El agente de IA realiza acciones sin requerir interacción del usuario, utilizando llamadas de herramientas que están configuradas para auto-aprobarse.
- Abuso de características legítimas del IDE: El atacante explota funciones normales del IDE para romper el límite de seguridad, lo que permite la fuga de datos confidenciales o la ejecución de comandos arbitrarios.
A diferencia de ataques anteriores que abusaban de herramientas vulnerables, IDEsaster utiliza la inyección de prompts para activar características legítimas del IDE.
Métodos de Secuestro de Contexto y Ejemplos de Ataque
El secuestro de contexto puede lograrse de varias maneras, como la inclusión de referencias externas (URL, texto pegado) con caracteres ocultos invisibles para el ojo humano, pero analizables por el LLM. También puede ocurrir mediante el envenenamiento del protocolo de contexto del modelo (MCP) a través de “rug pulls” o cuando un servidor MCP legítimo procesa entradas controladas por el atacante desde una fuente externa.
Los ataques específicos identificados incluyen:
- Exfiltración de datos mediante JSON remoto: Un atacante utiliza inyección de prompts para leer un archivo sensible con herramientas como
read_fileosearch_files. Luego, escribe un archivo JSON con una herramienta legítima (write_fileoedit_file) que incluye un esquema JSON remoto alojado en un dominio malicioso. Cuando el IDE procesa este archivo, realiza una solicitud GET al dominio del atacante, exfiltrando los datos.- CVEs afectados: CVE-2025-49150 (Cursor), CVE-2025-53097 (Roo Code), CVE-2025-58335 (JetBrains Junie), GitHub Copilot, Kiro.dev, Claude Code.
- Ejecución remota de código (RCE) mediante configuración del IDE: Se utiliza inyección de prompts para editar archivos de configuración del IDE (por ejemplo,
.vscode/settings.jsono.idea/workspace.xml). Al modificar parámetros comophp.validate.executablePathoPATH_TO_GITpara que apunten a un ejecutable malicioso, se logra RCE al iniciar el entorno o la herramienta específica.- CVEs afectados: CVE-2025-53773 (GitHub Copilot), CVE-2025-54130 (Cursor), CVE-2025-53536 (Roo Code), CVE-2025-55012 (Zed.dev), Claude Code.
- RCE mediante configuración de espacio de trabajo: La inyección de prompts se usa para editar archivos de configuración de espacio de trabajo (
*.code-workspace) y anular la configuración de un espacio de trabajo multirraíz, logrando RCE.- CVEs afectados: CVE-2025-64660 (GitHub Copilot), CVE-2025-61590 (Cursor), CVE-2025-58372 (Roo Code).
Estos ataques de RCE a menudo dependen de que el agente de IA auto-apruebe las escrituras de archivos, un comportamiento predeterminado para los archivos dentro del espacio de trabajo.
Recomendaciones y un nuevo paradigma: “Secure for AI”
Marzouk subraya la necesidad de un nuevo paradigma de seguridad denominado “Secure for AI” (Seguro para IA), que busca abordar los riesgos emergentes al integrar componentes de IA en productos existentes.
Recomendaciones para desarrolladores:
- Aplicar el principio de mínimo privilegio a las herramientas del LLM.
- Minimizar los vectores de inyección de prompts y endurecer el prompt del sistema.
- Utilizar sandboxing (cajas de arena) para ejecutar comandos.
- Realizar pruebas de seguridad exhaustivas contra la manipulación de rutas, la fuga de información y la inyección de comandos.
Recomendaciones para usuarios:
- Utilizar IDEs de IA y agentes de IA solo con proyectos y archivos de confianza.
- Revisar manualmente las fuentes que se añaden (por ejemplo, URL) en busca de instrucciones ocultas (como comentarios HTML o caracteres Unicode invisibles).
- Monitorear continuamente los servidores MCP de confianza, ya que incluso un servidor de confianza puede ser comprometido.
Conclusiones
Los hallazgos de “IDEsaster” demuestran cómo las herramientas de IA, al no poder distinguir entre las instrucciones del usuario y el contenido externo malicioso, amplían la superficie de ataque de las máquinas de desarrollo. La integración de agentes de IA en aplicaciones existentes (como IDEs o pipelines de CI/CD) introduce nuevos riesgos emergentes que requieren un enfoque de seguridad proactivo y adaptado.
Referencias
- CVE-2025-49150 (Cursor)
- CVE-2025-53097 (Roo Code)
- CVE-2025-58335 (JetBrains Junie)
- CVE-2025-53773 (GitHub Copilot)
- CVE-2025-54130 (Cursor)
- CVE-2025-53536 (Roo Code)
- CVE-2025-55012 (Zed.dev)
- CVE-2025-64660 (GitHub Copilot)
- CVE-2025-61590 (Cursor)
- CVE-2025-58372 (Roo Code)
- CVE-2025-61260 (OpenAI Codex CLI)