Un estudio reciente encontró que el código creado por inteligencia artificial está lleno de referencias a bibliotecas de software que no existen. Como si la IA se las hubiera inventado.
Estas “bibliotecas fantasma” pueden abrir la puerta a ataques cibernéticos que se aprovechan de esos errores. ¿El resultado? Programas infectados que roban datos o instalan puertas traseras.
Confusión de dependencias
Investigadores probaron 16 modelos de lenguaje y generaron más de medio millón de fragmentos de código. Encontraron que casi 440 mil dependencias apuntaban a bibliotecas que simplemente no existen.
Los modelos de código abierto fueron los peores: el 21 % de sus referencias eran falsas. En cambio, los modelos comerciales se equivocaron mucho menos, alrededor del 5 %.
Para entenderlo mejor: una dependencia es como un ingrediente esencial en una receta de cocina. Si te dan un ingrediente que no existe, todo el plato sale mal.
Este tipo de error puede ser explotado por atacantes. ¿Cómo? Publican una biblioteca maliciosa con el mismo nombre que la “fantasma”, y los sistemas, creyendo que es legítima, la instalan.
Eso se llama “confusión de dependencias”, y no es nuevo. En 2021 ya se usó contra gigantes como Apple, Microsoft y Tesla. Y sigue siendo un problema real.
El truco está en que si el desarrollador confía ciegamente en lo que sugiere la IA, puede terminar instalando software malicioso sin saberlo.
Peligro latente
El autor del estudio, Joseph Spracklen, explicó que basta con que un atacante use ese nombre inventado por la IA y meta allí su código malicioso. El usuario lo instala y ¡boom!
Esto pasa porque los modelos de lenguaje a veces “alucinan”. O sea, inventan cosas que suenan bien, pero no son ciertas. Y en programación, eso es especialmente peligroso.
Lo preocupante es que esas alucinaciones no son errores aislados. Muchas veces se repiten. De hecho, el 43 % de esas bibliotecas inventadas aparecieron más de 10 veces.
Eso les da a los atacantes una ventaja. Ven qué nombres se repiten, crean paquetes con esos nombres, los suben y esperan a que los desarrolladores caigan en la trampa.
Además, el 58 % de esas bibliotecas fantasmas aparecen más de una vez en 10 intentos. Eso indica que no son errores aleatorios, sino patrones repetibles.
El estudio también encontró diferencias entre lenguajes. Python generó menos errores (casi 16 %) que JavaScript, que tuvo más del 21 % de referencias falsas.
La conclusión es clara: los modelos de IA todavía no son confiables para generar código sin supervisión. Y como se espera que en cinco años el 95 % del código sea hecho por IA…
… más vale que los desarrolladores estén atentos y no se fíen del todo de lo que les sugiere la máquina. Porque, cuando falla, el daño puede ser enorme.