AI-hallucinaties vormen een nieuwe bedreiging voor de softwaretoeleveringsketen

In een huiveringwekkende nieuwe ontwikkeling voor ontwikkelaars en organisaties die voor codering afhankelijk zijn van kunstmatige intelligentie, hebben onderzoekers een nieuwe bedreiging voor de toeleveringsketen ontdekt, veroorzaakt door AI-hallucinaties in codegenererende modellen. Deze opkomende aanvalsmethode, ook wel slopsquatting genoemd, zou kwaadwillenden in staat kunnen stellen software-ecosystemen te infiltreren door misbruik te maken van fictieve pakketten die gehallucineerd worden door Large Language Models (LLM's).
Het gevaar schuilt in het feit dat LLM's vaak pakketten "hallucineren" – door verwijzingen naar softwareafhankelijkheden te suggereren of in te voegen die simpelweg niet bestaan. Uit onderzoek, uitgevoerd door de Universiteit van Texas in San Antonio, de Universiteit van Oklahoma en Virginia Tech, bleek dat geen van de 16 geteste populaire LLM's immuun was voor dit fenomeen.
Inhoudsopgave
Wat is slopsquatting en hoe werkt het?
Slopsquatting gebruikt deze hallucinerende fout als wapen. Wanneer een LLM tijdens het genereren van code een niet-bestaand pakket suggereert, kunnen cybercriminelen snel een kwaadaardig pakket onder die naam registreren. Na publicatie kan elke ontwikkelaar die de door AI gegenereerde code voor waar aanneemt, onbewust het kwaadaardige pakket importeren en uitvoeren. Dit brengt niet alleen het individuele project in gevaar, maar kan zich ook verspreiden naar hele softwaretoeleveringsketens als de geïnfecteerde code wordt hergebruikt of gedeeld.
Uit het onderzoek bleek dat van de 2,23 miljoen pakketten die gegenereerd werden in Python- en JavaScript-testscenario's, er bijna 440.000 – oftewel ongeveer 19,7% – gehallucineerd waren. Hiervan waren maar liefst 205.474 unieke, fictieve pakketnamen. De meeste gehallucineerde pakketten – 81% – waren uniek voor het specifieke model dat ze genereerde, wat wijst op inconsistent gedrag tussen verschillende LLM's.
Commerciële AI-modellen hallucineerden pakketten in minstens 5,2% van de gevallen, terwijl open-sourcemodellen het aanzienlijk slechter deden met hallucinatiepercentages van 21,7%. Alarmerend genoeg waren deze fouten niet slechts eenmalige toevalligheden. Meer dan de helft van de hallucinerende pakketten (58%) verscheen herhaaldelijk binnen slechts 10 iteraties, wat een duidelijke neiging tot persistentie aantoont.
Het toenemende risico van door AI gegenereerde code in softwareontwikkeling
Hoewel eerdere studies de dreiging van typosquatting – waarbij aanvallers misbruik maken van verkeerd getypte of misleidende pakketnamen – al hebben erkend, vertegenwoordigt deze nieuwe slopsquatting-aanval een over het hoofd geziene en potentieel veel gevaarlijkere variant. In tegenstelling tot typosquatting, dat inspeelt op menselijke fouten, maakt slopsquatting gebruik van de vermeende autoriteit en betrouwbaarheid van door AI gegenereerde code.
Misschien wel het meest fascinerende – en evenzeer verontrustende – onderzoek was de ontdekking dat LLM's in staat waren veel van hun eigen hallucinaties te herkennen. Dit suggereert een onbenut potentieel voor zelfregulatie dat in toekomstige veiligheidsmechanismen kan worden gebruikt. Het wijst ook op de mogelijkheid om in-model detectietools in te zetten om de verspreiding van foutieve of gevaarlijke code te voorkomen.
Hoe ontwikkelaars zich kunnen beschermen tegen AI-pakkethallucinaties
Om de dreiging tegen te gaan, stellen de onderzoekers een reeks maatregelen voor. Deze omvatten geavanceerde prompt engineering-technieken zoals Retrieval Augmented Generation (RAG), prompt tuning en zelfverfijning. Wat betreft modelontwikkeling zouden strategieën zoals supervised fine tuning en verbeterde decoderingsalgoritmen de hallucinatiepercentages kunnen helpen verlagen.
Nu generatieve AI de softwareontwikkeling blijft transformeren, is deze studie een duidelijke herinnering dat gemak een prijskaartje kan hebben. Ontwikkelaars moeten waakzaam en kritisch blijven ten opzichte van door AI gegenereerde code, vooral als het gaat om afhankelijkheidsbeheer. Het integreren van statische analysetools en handmatige reviews vóór de installatie van aanbevolen pakketten is nu belangrijker dan ooit.
Het dreigingslandschap verandert razendsnel, en zoals dit onderzoek aantoont, moeten onze verdedigingsmechanismen dat ook doen. Wat ooit sciencefiction leek – AI die software bedenkt die niet bestaat – is uitgegroeid tot een zeer reëel cybersecurityprobleem met verstrekkende gevolgen.