AI-hallusinasjoner utgjør en ny trussel mot programvareforsyningskjeden

I en spennende ny utvikling for utviklere og organisasjoner som er avhengige av kunstig intelligens for koding, har forskere avdekket en ny trussel i forsyningskjeden skapt av AI-hallusinasjoner i kodegenererende modeller. Denne nye angrepsvektoren, kalt slopsquatting , kan tillate ondsinnede aktører å infiltrere programvareøkosystemer ved å dra nytte av fiktive pakker hallusinert av Large Language Models (LLMs).
Faren ligger i det faktum at LLM-er ofte "hallusinerer" pakker - og foreslår eller setter inn referanser til programvareavhengigheter som rett og slett ikke eksisterer. I forskning utført i fellesskap av University of Texas i San Antonio, University of Oklahoma og Virginia Tech, ble det oppdaget at ingen av de 16 populære LLM-ene som ble testet var immune mot dette fenomenet.
Innholdsfortegnelse
Hva er Slopsquatting og hvordan fungerer det?
Slopsquatting tar denne hallusinasjonsfeilen og gjør den til et våpen. Når en LLM foreslår en ikke-eksisterende pakke under kodegenerering, kan nettkriminelle raskt registrere en ondsinnet pakke under det navnet. Når den er publisert, kan enhver utviklere som godtar den AI-genererte koden til pålydende ubevisst importere og kjøre den skadelige pakken. Dette kompromitterer ikke bare det enkelte prosjektet, men kan også spre seg over hele programvareforsyningskjeder hvis den infiserte koden gjenbrukes eller deles.
Studien fant at av 2,23 millioner pakker generert på tvers av Python- og JavaScript-testscenarier, var nesten 440 000 – eller omtrent 19,7 % – hallusinerte. Av disse var svimlende 205.474 unike fiktive pakkenavn. De fleste hallusinerte pakker – 81 % – var unike for den spesifikke modellen som genererte dem, og peker på inkonsekvent atferd på tvers av ulike LLM-er.
Kommersielle AI-modeller hallusinerte pakker i minst 5,2 % av tilfellene, mens åpen kildekode-modeller klarte seg betydelig dårligere med hallusinasjonsrater på 21,7 %. Alarmerende nok var disse feilene ikke bare engangsfeil. Over halvparten av de hallusinerte pakkene (58 %) dukket opp gjentatte ganger innen bare 10 iterasjoner, og viste en klar tendens til utholdenhet.
Den økende risikoen for AI-generert kode i programvareutvikling
Mens tidligere studier har erkjent trusselen om typosquatting – der angripere utnytter feilskrivede eller villedende pakkenavn – representerer dette nye slosquatting-angrepet en oversett og potensielt langt farligere variant. I motsetning til typosquatting, som jakter på menneskelige feil, utnytter slopsquatting den oppfattede autoriteten og påliteligheten til AI-generert kode.
Kanskje mest fascinerende - og like bekymrende - fant forskerne at LLM-er var i stand til å gjenkjenne mange av sine egne hallusinasjoner. Dette antyder et uutnyttet selvreguleringspotensial som kan brukes i fremtidige sikkerhetsmekanismer. Den antyder også muligheten for å distribuere i-modell deteksjonsverktøy for å forhindre distribusjon av feil eller farlig kode.
Hvordan utviklere kan beskytte mot AI-pakkehallusinasjoner
For å motvirke trusselen foreslår forskerne en rekke avbøtende tiltak. Disse inkluderer avanserte prompte ingeniørteknikker som Retrieval Augmented Generation (RAG), rask tuning og selvforfining. På modellutviklingssiden kan strategier som overvåket finjustering og forbedrede dekodingsalgoritmer bidra til å redusere hallusinasjonsfrekvensen.
Ettersom generativ AI fortsetter å transformere programvareutvikling, er denne studien en sterk påminnelse om at bekvemmelighet kan ha en pris. Utviklere må være årvåkne og kritiske til AI-generert kode, spesielt når det kommer til avhengighetshåndtering. Integrering av statiske analyseverktøy og manuelle vurderinger før du installerer noen anbefalte pakker er nå viktigere enn noen gang.
Trussellandskapet utvikler seg raskt, og som denne forskningen viser, må også forsvaret vårt gjøre det. Det som en gang virket som science fiction – AI som forestiller seg programvare som ikke eksisterer – har blitt et veldig reelt cybersikkerhetsproblem med vidtrekkende implikasjoner.