Ha surgido una nueva técnica de ciberataque que utiliza el modelo de lenguaje ChatGPT de OpenAI, permitiendo a los atacantes propagar paquetes maliciosos en los entornos de los desarrolladores.
El equipo de investigación Voyager18 de Vulcan Cyber describió el descubrimiento en un aviso publicado hoy.
«Hemos visto que ChatGPT genera URLs, referencias e incluso bibliotecas de código y funciones que en realidad no existen. Estas alucinaciones del modelo de lenguaje de gran tamaño (LLM) ya se han descrito antes y pueden ser el resultado de datos de entrenamiento antiguos», explica el escrito técnico del investigador Bar Lanyado y los colaboradores Ortal Keizman y Yair Divinsky.
Aprovechando las capacidades de generación de código de ChatGPT, los atacantes pueden explotar potencialmente bibliotecas de código (paquetes) fabricadas para distribuir paquetes maliciosos, eludiendo métodos convencionales como el typosquatting o el enmascaramiento.
En concreto, Lanyado dijo que el equipo identificó una nueva técnica de propagación de paquetes maliciosos que denominaron «alucinación de paquetes de IA».
La técnica consiste en plantear una pregunta a ChatGPT, solicitar un paquete para resolver un problema de codificación y recibir múltiples recomendaciones de paquetes, incluidos algunos no publicados en repositorios legítimos.
Sustituyendo estos paquetes inexistentes por sus propios paquetes maliciosos, los atacantes pueden engañar a futuros usuarios que confíen en las recomendaciones de ChatGPT. Una prueba de concepto (PoC) realizada con ChatGPT 3.5 ilustra los riesgos potenciales.
«En la PoC, veremos una conversación entre un atacante y ChatGPT, utilizando la API, donde ChatGPT sugerirá un paquete npm no publicado llamado arangodb», explicó el equipo de Vulcan Cyber.
«Tras esto, el atacante simulado publicará un paquete malicioso en el repositorio NPM para tender una trampa a un usuario desprevenido».
A continuación, el PoC muestra una conversación en la que un usuario hace la misma pregunta a ChatGPT y el modelo responde sugiriendo el paquete inicialmente inexistente. Sin embargo, en este caso, el atacante ha transformado el paquete en una creación maliciosa.
«Finalmente, el usuario instala el paquete y el código malicioso puede ejecutarse».
Detectar las alucinaciones de paquetes de IA puede ser un reto, ya que los actores de amenazas emplean técnicas de ofuscación y crean paquetes de troyanos funcionales, según el aviso.
Para mitigar los riesgos, los desarrolladores deben examinar cuidadosamente las bibliotecas comprobando factores como la fecha de creación, el número de descargas, los comentarios y las notas adjuntas. Mantener la cautela y el escepticismo ante paquetes sospechosos también es crucial para mantener la seguridad del software.