Se han revelado más de 30 vulnerabilidades de seguridad en diversos
entornos de desarrollo integrados (IDE) basados en inteligencia artificial
(IA),
que combinan primitivas de inyección rápida con funciones legítimas para
lograr la exfiltración de datos y la ejecución remota de código.
El investigador de seguridad Ari Marzouk (MaccariTA) ha denominado
colectivamente
IDEsaster
a estas vulnerabilidades de seguridad. Afectan a IDE y extensiones populares
como Cursor, Windsurf, Kiro.dev, GitHub Copilot, Zed.dev, Roo Code, Junie y
Cline, entre otros. De estos, 24 han recibido identificadores CVE.
«Creo que el hecho de que múltiples cadenas de ataque universales hayan
afectado a todos y cada uno de los IDE de IA analizados es el hallazgo más
sorprendente de esta investigación», declaró Marzouk.
Todos los IDE de IA (y los asistentes de programación que se integran con
ellos) ignoran eficazmente el software base (IDE) en su modelo de amenazas.
Consideran sus funciones como inherentemente seguras porque llevan años ahí.
Sin embargo, una vez que se añaden agentes de IA que pueden actuar de forma
autónoma, estas mismas funciones pueden utilizarse como arma para la
exfiltración de datos y las primitivas de RCE. En esencia, estos problemas
encadenan tres vectores diferentes comunes a los IDE basados en IA:
-
Evadir las barreras de un modelo de lenguaje grande (LLM) para secuestrar el
contexto y ejecutar las órdenes del atacante (inyección de prompt); -
Realizar ciertas acciones sin interacción del usuario mediante llamadas a
herramientas aprobadas automáticamente por un agente de IA; -
Activar las funciones legítimas de un IDE que permiten a un atacante
vulnerar la seguridad para filtrar datos confidenciales o ejecutar comandos
arbitrarios.
Los problemas destacados difieren de las cadenas de ataques anteriores que han
aprovechado las inyecciones de prompt junto con herramientas vulnerables (o
abusando de herramientas legítimas para realizar acciones de lectura o
escritura) para modificar la configuración de un agente de IA y lograr la
ejecución de código u otro comportamiento no deseado.
Lo que distingue a IDEsaster es que utiliza primitivas de inyección de prompt
y las herramientas de un agente para activar funciones legítimas del IDE y
provocar la fuga de información o la ejecución de comandos.
El secuestro de contexto puede llevarse a cabo de diversas maneras, incluyendo
referencias de contexto añadidas por el usuario, que pueden consistir en URL
pegadas o texto con caracteres ocultos invisibles para el ojo humano, pero que
el LLM puede analizar. Como alternativa, el contexto puede contaminarse
mediante un servidor de Protocolo de Contexto de Modelo (MCP) mediante
envenenamiento de herramientas o robos, o cuando un servidor MCP legítimo
analiza la entrada controlada por el atacante desde una fuente externa.
Algunos de los ataques identificados, posibilitados por la nueva cadena de
exploits, son los siguientes:
Dado que las inyecciones de prompts y los jailbreaks son el primer paso de la
cadena de ataque, Marzouk ofrece las siguientes recomendaciones:
-
Utilice IDEs de IA (y agentes de IA) únicamente con proyectos y archivos de
confianza. Los archivos de reglas maliciosos, las instrucciones ocultas en
el código fuente u otros archivos (README) e incluso los nombres de archivo
pueden convertirse en vectores de inyección de prompts. -
Conéctese únicamente a servidores MCP de confianza y monitoréelos
continuamente para detectar cambios (incluso un servidor de confianza puede
ser vulnerado). Revise y comprenda el flujo de datos de las herramientas MCP
(por ejemplo, una herramienta MCP legítima podría extraer información de una
fuente controlada por el atacante, como un PR de GitHub). -
Revise manualmente las fuentes que agregue (por ejemplo, a través de URL)
para detectar instrucciones ocultas (comentarios en HTML, texto oculto en
CSS, caracteres Unicode invisibles, etc.). -
Se recomienda a los desarrolladores de agentes e IDEs de IA que apliquen el
principio de mínimo privilegio a las herramientas LLM, minimicen los
vectores de inyección de prompts, fortalezcan el prompt del sistema,
utilicen un entorno aislado para ejecutar comandos y realicen pruebas de
seguridad para detectar rutas de acceso, fugas de información e inyección de
comandos.
A medida que las herramientas de IA con agentes se vuelven cada vez más
populares en entornos empresariales, estos hallazgos demuestran cómo amplían
la superficie de ataque de los equipos de desarrollo, a menudo aprovechando la
incapacidad de un LLM para distinguir entre las instrucciones proporcionadas
por un usuario para completar una tarea y el contenido que puede ingerir de
una fuente externa, que, a su vez, puede contener un prompt malicioso
integrado.
«Cualquier repositorio que utilice IA para la clasificación de problemas,
el etiquetado de relaciones públicas, las sugerencias de código o las
respuestas automatizadas corre el riesgo de sufrir inyección inmediata,
inyección de comandos, exfiltración de secretos, vulneración del repositorio
y vulneración de la cadena de suministro ascendente», declaró el investigador de Aikido Rein Daelman.
Marzouk también afirmó que los descubrimientos enfatizaron la importancia de
«Seguridad para IA», un nuevo paradigma acuñado por el investigador para
abordar los desafíos de seguridad que presentan las funciones de IA,
garantizando así que los productos no solo sean seguros por defecto y por
diseño, sino que también se conciban teniendo en cuenta cómo los componentes
de IA pueden ser objeto de abuso con el tiempo.
«Este es otro ejemplo de por qué es necesario el principio ‘Seguridad para
IA'», afirmó Marzouk.
«Conectar agentes de IA a aplicaciones existentes genera nuevos riesgos
emergentes».
Fuente: THN

