Per què el codi generat per IA podria ser un desastre per a la cadena de subministrament de programari
23/05/2025

Eines basades en models de llenguatge extens (LLM) generen milions de línies de codi que escurcen temps de desenvolupament i faciliten tasques complexes.
Tot i això, aquesta acceleració també ha encès alarmes sobre el seu impacte negatiu en la seguretat.
Un dels riscos principals identificats és que el codi generat per IA està ple de referències a dependències inexistents. Aquestes al·lucinacions, com se’ls coneix tècnicament, representen una amenaça creixent per a la cadena de subministrament de programari i poden ser aprofitades per actors maliciosos per introduir codi nociu en projectes aparentment segurs.
L’auge de les al·lucinacions de paquets en codi generat per IA
Els LLM poden produir referències a biblioteques o paquets que no existeixen. A primera vista, això podria semblar només un error tècnic menor, però la realitat és molt més preocupant.
Quan aquestes referències les fan desenvolupadors sense verificar-ne l’existència o la validesa, s’obre la porta a un dels atacs més perillosos actualment: la confusió de dependències.
Com funcionen les al·lucinacions de paquets
Una dependència és un component essencial del programari modern. Reutilitzar llibreries permet reduir temps de desenvolupament, però també fa que el programari sigui vulnerable si aquestes llibreries estan compromeses. Les al·lucinacions es produeixen quan el model IA suggereix biblioteques amb noms plausibles però que no existeixen. Si un atacant crea una biblioteca real amb aquest nom i conté codi maliciós, el resultat pot ser devastador.
Un cop publicat un paquet fals, el model pot suggerir-lo de manera repetida a altres usuaris que, sense saber-ho, incorporaran aquest codi nociu al sistema. Això no només representa una amenaça per al desenvolupador, sinó per a tota la cadena de subministrament que depèn del programari.
Una investigació revela la magnitud del problema
Una investigació recent ha demostrat que aquest fenomen no és un cas aïllat ni aleatori. Es van fer servir 16 models LLM, els investigadors van generar 576.000 mostres de codi i van trobar que el 19,7 % de les referències a paquets apuntaven a dependències inexistents.
En total, es van detectar més de 440.000 al·lucinacions, moltes de les quals es repetien a múltiples consultes.
Un problema persistent i explotable
El fet que aquestes referències es repeteixin converteix les al·lucinacions de paquets en una amenaça persistent. No es tracta simplement d’errors aleatoris, sinó de patrons reconeixibles que poden ser explotats. Un atacant només necessita identificar un d’aquests patrons, crear un paquet maliciós amb el mateix nom i esperar que la IA ho torni a suggerir.
Un cop instal·lat, el codi maliciós pot robar dades, plantar portes del darrere o comprometre sistemes sencers.
Models de codi obert: els més vulnerables
Segons l’estudi, els models de codi obert com ara CodeLlama i DeepSeek presenten taxes d’al·lucinació properes al 22 %, molt més elevades que les de models comercials com ChatGPT, la taxa del qual es manté al voltant del 5 %.
Això pot ser degut a la menor quantitat de paràmetres i a diferències en la qualitat de l’entrenament, cosa que redueix la capacitat del model per recordar noms vàlids de paquets.
JavaScript, el llenguatge més afectat
Una altra de les conclusions rellevants és que JavaScript, a causa del seu ecosistema massiu i complex, té més propensió a patir aquest tipus d’al·lucinacions. La taxa mitjana de referències errònies en codi JavaScript va ser del 21 %, en comparació amb el 16 % a Python.
Això s’explica, entre altres raons, per l’elevat nombre de paquets disponibles i per la dificultat dels models per navegar en un espai de noms tan ampli.
Implicacions per a la cadena de subministrament de programari
El codi generat per IA està canviant la manera com es desenvolupa programari, però també genera noves amenaces per a la seguretat de la cadena de subministrament. Un sol paquet maliciós pot posar en risc empreses senceres, clients i sistemes crítics, com ja es va veure en atacs anteriors que van afectar gegants com Microsoft, Apple i Tesla.
El risc de confiar cegament en la IA
Un dels errors més comuns és assumir que la sortida d’un model de llenguatge és sempre correcta. Tanmateix, com demostra aquesta investigació, les al·lucinacions no només són freqüents, sinó que es poden repetir i ser utilitzades de manera sistemàtica pels ciberdelinqüents.
Si no s’implementen mecanismes de verificació i auditoria, s’incrementa el risc d’introduir vulnerabilitats greus sense ser-ne conscients.
Recomanacions per a un ús responsable de la IA en desenvolupament de programari
Per evitar caure en aquests paranys, els desenvolupadors han d’adoptar una actitud crítica davant del codi generat per IA. Verificar manualment les dependències, fer servir eines d’auditoria i seguir bones pràctiques de seguretat pot marcar la diferència entre una cadena de subministrament segura i una exposada a atacs.
Així mateix, és crucial que les organitzacions inverteixin en formació i en eines capaces de detectar possibles amenaces abans que s’integrin en l’entorn de producció. La prevenció continua sent l’estratègia més efectiva davant de riscos com aquest.