Demuestran que es posible 'intoxicar' las base de datos de las IA que ayudan a desarrolladores, haciendo que les 'recomienden' código malicioso

Jóvenes programadores durante un hackaton.
  • Si los ciberdelincuentes profundizan en esta técnica las consecuencias pueden ser devastadoras: un programador que no esté atento podría hacer un código vulnerable.
  • Dado que estas herramientas basadas en IA y que asisten a desarrolladores están en auge, muchos servicios 'inocentes' generarían daños en manos de ciberdelincuentes.

Los asistentes de programación basados en inteligencia artificial se han convertido en uno los mayores aliados para la comunidad de desarrolladores. Herramientas como Copilot, de GitHub, o incluso el controvertido ChatGPT que ha creado OpenAI, pueden ayudar a muchos profesionales a conseguir un código más limpio.

Pero igual que puede ser un aliado de inestimable ayuda, esos asistentes con IA también pueden ser el peor enemigo de un programador confiado.

Investigadores de Microsoft y de las universidades de California y Virginia, en EEUU, han diseñado un tipo de ataque informático que puede intoxicar las bases de datos con las que funcionan estos modelos de IA. En consecuencia, estos asistentes acaban sugiriendo a los desarrolladores líneas de código que pueden ser perjudiciales, dejando puertas abiertas o haciendo colapsar el trabajo.

Las implicaciones son evidentes. Si los modelos de IA que recomiendan texto o código a programadores acaban incluyendo código malicioso en sus sugerencias y los desarrolladores no las advierten, las consecuencias podrían ser una infinitud de herramientas, programas y aplicaciones con vulnerabilidades que los ciberdelincuentes podrían acabar aprovechando.

Este tipo de ataque que intoxica bases de datos de sistemas IA ha sido bautizado como Trojan Puzzle, y aunque su diseño responde a un experimento en un entorno controlado, sí demuestra cómo este tipo de asistentes están expuestos a un peligro que puede acabar provocando un daño mayor.

La investigación la recoge el medio Bleeping Computer en este artículo, en el que se recuerda que ya existían análisis previos que revelaban los riesgos de que estos asistentes con IA pudiesen tener en sus bases de datos líneas de código malicioso. Muchos de esos asistentes construyen sus bases de datos con los repositorios de código públicos en plataformas como GitHub. La amenaza existe.

venta de drogas

Sin embargo, esos estudios también abundaban en que herramientas de análisis estático preveían la detección de líneas de código malicioso, con lo que ese riesgo es fácilmente evitable. No obstante, la investigación de Microsoft y las universidades de California y Virginia revela de qué manera se puede sortear ese análisis estático.

Trojan Puzzle, el nombre con el que se ha bautizado esta técnica, oculta los payloads que pueden desencadenar el daño en el propio código. Para activarlos solo se necesita especificar una frase o una palabra en el lenguaje de programación. De esta manera, estos códigos maliciosos evitan el 'radar' que suponen las herramientas de análisis estático.

Por supuesto, ese método no hace infalible la posibilidad de incorporar código malicioso en la base de datos de una IA que asiste a programadores, pero aumenta los riesgos. Para comprobar su experimento, los investigadores usaron cerca de 6 GB de código en Python recopilado de unos 18.310 repositorios, que serían la base de datos de su algoritmo de aprendizaje automático.

Esa base de datos fue intoxicada con 160 archivos maliciosos para cada 80.000 archivos de código. Tras varias pruebas y bajo circunstancias muy concretas, Trojan Puzzle logró sugerir código inseguro o malicioso en el 21% de las ocasiones.

Aunque es cierto que Trojan Puzzle se ha desarrollado pensando en cómo evadir los sistemas de detección más estandarizados, y el número de veces que una IA asistente de código con su base de datos intoxicada sugirió código malintencionado fue reducido y en circunstancias muy concretas, el experimento prueba que el riesgo existe.

Es un riesgo remoto en tanto que los grupos de ciberdelincuentes deben sofisticar mucho sus prácticas y desarrollar herramientas capaces de intoxicar masivamente las bases de datos de modelos de IA masivos y a menudo privativos, y por lo general a las mafias de criminales informáticos les interesa más el dinero rápido mediante técnicas sencillas.

Sin embargo, si un solo grupo es capaz de semejante hazaña, las consecuencias podrían ser devastadoras: los asistentes de programación son una herramienta cada vez más extendida y podría empezar a abrir puertas y vulnerabilidades en un montón de herramientas y servicios, generando ataques masivos en toda la cadena de suministros de un negocio.

Descubre más sobre , autor/a de este artículo.

Conoce cómo trabajamos en Business Insider.