IDEsaster: más de 30 fallos en herramientas de codificación de IA que facilitan el robo de datos y ataques RCE
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


0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!