Zephyrnet-logo

Doordringende LLM-hallucinaties breiden het aanvalsoppervlak van codeontwikkelaars uit

Datum:

Het gebruik van grote taalmodellen (LLM's) door softwareontwikkelaars biedt aanvallers een grotere kans dan eerder werd gedacht om kwaadaardige pakketten naar ontwikkelomgevingen te verspreiden, zo blijkt uit recent gepubliceerd onderzoek.

Het onderzoek van LLM-beveiligingsleverancier Lasso Security is een vervolg op een rapport van vorig jaar over de mogelijkheden voor aanvallers misbruik maken van de neiging van LLM's om te hallucineren, of om ogenschijnlijk plausibele maar niet feitelijk gegronde resultaten te genereren als reactie op gebruikersinvoer.

AI-pakket hallucinatie

De eerdere studie concentreerde zich op de neiging van ChatGPT om de namen van codebibliotheken te verzinnen – naast andere verzinsels – toen softwareontwikkelaars de hulp van de AI-compatibele chatbot vroegen in een ontwikkelomgeving. Met andere woorden, de chatbot verspreidde soms links naar niet-bestaande pakketten in openbare codeopslagplaatsen, terwijl een ontwikkelaar hem zou kunnen vragen pakketten voor te stellen voor gebruik in een project.

Beveiligingsonderzoeker Bar Lanyado, auteur van het onderzoek en nu bij Lasso Security, ontdekte dat aanvallers gemakkelijk een echt kwaadaardig pakket konden achterlaten op de locatie waarnaar ChatGPT verwijst en het dezelfde naam konden geven als het hallucinerende pakket. Elke ontwikkelaar die het pakket downloadt op basis van de aanbeveling van ChatGPT, kan vervolgens malware in zijn ontwikkelomgeving introduceren.

Lanyado's vervolgonderzoek onderzocht de alomtegenwoordigheid van het pakkethallucinatieprobleem in vier verschillende grote taalmodellen: GPT-3.5-Turbo, GPT-4, Gemini Pro (voorheen Bard) en Coral (Cohere). Hij testte ook de neiging van elk model om gehallucineerde pakketten te genereren in verschillende programmeertalen en de frequentie waarmee ze hetzelfde gehallucineerde pakket genereerden.

Voor de tests heeft Lanyado een lijst samengesteld met duizenden 'how to'-vragen waarmee ontwikkelaars in verschillende programmeeromgevingen (python, node.js, go, .net, ruby) meestal hulp zoeken bij LLM's in ontwikkelomgevingen. Lanyado stelde vervolgens aan elk model een coderingsgerelateerde vraag, evenals een aanbeveling voor een pakket dat verband hield met de vraag. Hij vroeg elk model ook om nog tien pakketten aan te bevelen om hetzelfde probleem op te lossen.

Herhaalde resultaten

De resultaten waren verontrustend. Een verrassende 64.5% van de ‘gesprekken’ die Lanyado met Gemini had, genereerde hallucinerende pakketten. Bij Coral bedroeg dat aantal 29.1%; andere LLM's zoals GPT-4 (24.2%) en GPT3.5 (22.5%) deden het niet veel beter.

Toen Lanyado elk model honderd keer dezelfde reeks vragen stelde om te zien hoe vaak de modellen dezelfde pakketten hallucineerden, ontdekte hij dat de herhalingsfrequenties ook wenkbrauwen doen fronsen. Cohere spuwde bijvoorbeeld meer dan 100% van de tijd dezelfde hallucinerende pakketjes uit; Chat GPT-24 en Gemini rond 3.5%, en GPT-14 tegen 4%. In verschillende gevallen hallucineerden verschillende modellen dezelfde of soortgelijke pakketten. Het hoogste aantal van dergelijke kruis-gehallucineerde modellen vond plaats tussen GPT-20 en Gemini.

Lanyado zegt dat zelfs als verschillende ontwikkelaars een vraag zouden stellen aan een LLM over hetzelfde onderwerp, maar de vragen anders zouden formuleren, de kans groot is dat de LLM in elk geval hetzelfde hallucinerende pakket zou aanbevelen. Met andere woorden: elke ontwikkelaar die een LLM gebruikt voor hulp bij het coderen, zou waarschijnlijk veel van dezelfde gehallucineerde pakketten tegenkomen.

“De vraag zou totaal anders kunnen zijn, maar over een soortgelijk onderwerp, en de hallucinatie zou nog steeds optreden, waardoor deze techniek zeer effectief wordt”, zegt Lanyado. “In het huidige onderzoek ontvingen we ‘herhalende pakketten’ voor veel verschillende vragen en onderwerpen en zelfs over verschillende modellen heen, wat de kans vergroot dat deze gehallucineerde pakketten worden gebruikt.”

Gemakkelijk te exploiteren

Een aanvaller gewapend met de namen van een paar gehallucineerde pakketten zou bijvoorbeeld pakketten met dezelfde namen naar de juiste repository's kunnen uploaden, wetende dat de kans groot is dat een LLM ontwikkelaars ernaar zou verwijzen. Om aan te tonen dat de dreiging niet theoretisch is, nam Lanyado een hallucinerend pakket met de naam ‘huggingface-cli’ dat hij tegenkwam tijdens zijn tests en uploadde een leeg pakket met dezelfde naam naar de Hugging Face-repository voor machine learning-modellen. Ontwikkelaars hebben dat pakket ruim 32,000 keer gedownload, zegt hij.

Vanuit het standpunt van een bedreigingsactor vormen pakkethallucinaties een relatief eenvoudige vector voor het verspreiden van malware. “Zoals we uit de onderzoeksresultaten zagen, is het niet zo moeilijk”, zegt hij. Gemiddeld hallucineerden alle modellen samen 35% voor bijna 48,000 vragen, voegt Lanyado toe. GPT-3.5 had het laagste percentage hallucinaties; Gemini scoorde het hoogst, met een gemiddelde herhaling van 18% voor alle vier de modellen, merkt hij op.

Lanyado suggereert dat ontwikkelaars voorzichtig moeten zijn bij het opvolgen van pakketaanbevelingen van een LLM als ze niet helemaal zeker zijn van de juistheid ervan. Hij zegt ook dat wanneer ontwikkelaars een onbekend open source-pakket tegenkomen, ze de pakketrepository moeten bezoeken en de omvang van de gemeenschap, de onderhoudsgegevens, de bekende kwetsbaarheden en het algehele betrokkenheidspercentage moeten onderzoeken. Ontwikkelaars moeten het pakket ook grondig scannen voordat ze het in de ontwikkelomgeving introduceren.

spot_img

Laatste intelligentie

spot_img