Las alucinaciones del código de IA aumentan el riesgo de ataques de 'confusión de paquete'

Código de computadora generado por IA Está plagado de referencias a bibliotecas de terceros inexistentes, creando una oportunidad de oro para ataques de cadena de suministro que envenenan programas legítimos con paquetes maliciosos que pueden robar datos, plantas traseras y llevar a cabo otras acciones nefastas, según muestran investigaciones recientemente publicadas.
El estudio, que utilizó 16 de los modelos de idiomas grandes más utilizados para generar 576,000 muestras de código, encontró que 440,000 de las dependencias del paquete que contenían eran "alucinadas", lo que significa que no existían. Los modelos de código abierto alucinaron más, con el 21 por ciento de las dependencias que se vinculan con bibliotecas inexistentes. Una dependencia es un componente de código esencial que requiere una pieza de código separada para funcionar correctamente. Las dependencias ahorran a los desarrolladores la molestia del código de reescritura y son una parte esencial de la cadena de suministro de software moderna.
Flashbacks de alucinación de paquetes
Estas dependencias inexistentes representan una amenaza para la cadena de suministro de software al exacerbar los llamados ataques de confusión de dependencia. Estos ataques funcionan al hacer que un paquete de software acceda a la dependencia de los componentes incorrectos, por ejemplo, publicando un paquete malicioso y dándole el mismo nombre que el legítimo pero con un sello de versión posterior. El software que depende del paquete, en algunos casos, elegirá la versión maliciosa en lugar de la legítima porque el primero parece ser más reciente.
También conocido como paquete de confusión, esta forma de ataque fue Primero demostrado En 2021, en una exploit de prueba de concepto que ejecutó código falsificado en redes que pertenecen a algunas de las compañías más grandes del planeta, Apple, Microsoft y Tesla incluidos. Es un tipo de técnica utilizada en los ataques de la cadena de suministro de software, que tiene como objetivo envenenar el software en su propia fuente en un intento de infectar a todos los usuarios aguas abajo.
"Una vez que el atacante publica un paquete bajo el nombre alucinado, que contiene un código malicioso, confía en el modelo que sugiere ese nombre a los usuarios desprevenidos", Joseph Spracklen, Universidad de Texas en San Antonio Ph.D. Estudiante e investigador principal, dijo a ARS por correo electrónico. "Si un usuario confía en la salida de la LLM e instala el paquete sin verificarlo cuidadosamente, la carga útil del atacante, oculta en el paquete malicioso, se ejecutaría en el sistema del usuario".
En AI, las alucinaciones ocurren cuando un LLM produce salidas que son objetivos, sin sentido o completamente no relacionados con la tarea que se asignó. Las alucinaciones han perseguido durante mucho tiempo LLM porque degradan su utilidad y confiabilidad y han demostrado ser verticalmente difícil de predecir y remediar. En papel Programados para presentarse en el Simposio de Seguridad Usenix 2025, han denominado el fenómeno "alucinación de paquetes".
Para el estudio, los investigadores realizaron 30 pruebas, 16 en el lenguaje de programación de Python y 14 en JavaScript, que generaron 19,200 muestras de código por prueba, para un total de 576,000 muestras de código. De las referencias de 2,23 millones de paquetes contenidos en esas muestras, 440,445, o 19.7 por ciento, señalaron paquetes que no existían. Entre estas 440,445 alucinaciones de paquetes, 205,474 tenían nombres de paquetes únicos.
Una de las cosas que hace que las alucinaciones de los paquetes sean potencialmente útiles en los ataques de la cadena de suministro es que el 43 por ciento de las alucinaciones de paquetes se repitieron en 10 consultas. "Además", escribieron los investigadores, "el 58 por ciento del tiempo, un paquete alucinado se repite más de una vez en 10 iteraciones, lo que demuestra que la mayoría de las alucinaciones no son simplemente errores aleatorios, sino un fenómeno repetible que persiste en múltiples iteraciones. Esto es significativo porque una persistente es más valiosa para los actores maliciosos que buscan explotación de esta vulnerabilidad y hace que la ala de la alucinativa sea más vulnerable" es significativa ".