Zephyrnet-logo

Gjennomgripende LLM Hallusinasjoner Utvid kodeutviklerens angrepsoverflate

Dato:

Programvareutvikleres bruk av store språkmodeller (LLM) gir en større mulighet enn tidligere antatt for angripere til å distribuere ondsinnede pakker til utviklingsmiljøer, ifølge nylig utgitt forskning.

Studien fra LLM-sikkerhetsleverandøren Lasso Security er en oppfølging av en rapport i fjor om potensialet for angripere til å misbruke LLMs' tendens til å hallusinere, eller å generere tilsynelatende plausible, men ikke faktabaserte, resultater som svar på brukerinnspill.

AI-pakkehallusinasjon

De tidligere studie fokusert på tendensen til ChatGPT til å fremstille navnene på kodebiblioteker – blant andre fabrikasjoner – når programvareutviklere ba den AI-aktiverte chatboten om hjelp i et utviklingsmiljø. Med andre ord, chatboten spydde noen ganger ut lenker til ikke-eksisterende pakker på offentlige kodelagre når en utvikler kan be den om å foreslå pakker som skal brukes i et prosjekt.

Sikkerhetsforsker Bar Lanyado, forfatter av studien og nå ved Lasso Security, fant at angripere lett kunne slippe en faktisk ondsinnet pakke på stedet ChatGPT peker til og gi den samme navn som den hallusinerte pakken. Enhver utvikler som laster ned pakken basert på ChatGPTs anbefaling kan da ende opp med å introdusere skadelig programvare i utviklingsmiljøet sitt.

Lanyados følgeforskning undersøkte omfanget av pakkehallusinasjonsproblemet på tvers av fire forskjellige store språkmodeller: GPT-3.5-Turbo, GPT-4, Gemini Pro (tidligere Bard) og Coral (Cohere). Han testet også hver modells tilbøyelighet til å generere hallusinerte pakker på tvers av forskjellige programmeringsspråk og frekvensen de genererte den samme hallusinerte pakken med.

For testene kompilerte Lanyado en liste over tusenvis av "hvordan"-spørsmål som utviklere i forskjellige programmeringsmiljøer - python, node.js, go, .net, ruby ​​- oftest søker hjelp fra LLM-er i utviklingsmiljøer. Lanyado stilte deretter hver modell et kodingsrelatert spørsmål samt en anbefaling for en pakke relatert til spørsmålet. Han ba også hver modell anbefale 10 flere pakker for å løse det samme problemet.

Gjentatte resultater

Resultatene var urovekkende. Oppsiktsvekkende 64.5 % av "samtalene" Lanyado hadde med Gemini genererte hallusinerte pakker. Med Coral var dette tallet 29.1 %; andre LLM-er som GPT-4 (24.2%) og GPT3.5 (22.5%) klarte seg ikke mye bedre.

Da Lanyado spurte hver modell det samme settet med spørsmål 100 ganger for å se hvor ofte modellene ville hallusinere de samme pakkene, fant han at gjentakelsesfrekvensen også var øyenbrynsløftende. Cohere, for eksempel, spydde ut de samme hallusinerte pakkene over 24 % av tiden; Chat GPT-3.5 og Gemini rundt 14 %, og GPT-4 på 20 %. I flere tilfeller hallusinerte forskjellige modeller samme eller lignende pakker. Det høyeste antallet slike krysshallusinerte modeller skjedde mellom GPT-3.5 og Gemini.

Lanyado sier at selv om forskjellige utviklere stilte en LLM et spørsmål om samme emne, men laget spørsmålene annerledes, er det en sannsynlighet for at LLM vil anbefale den samme hallusinerte pakken i hvert tilfelle. Med andre ord, enhver utvikler som bruker en LLM for kodingshjelp vil sannsynligvis møte mange av de samme hallusinerte pakkene.

"Spørsmålet kan være helt annerledes, men om et lignende emne, og hallusinasjonen vil fortsatt skje, noe som gjør denne teknikken veldig effektiv," sier Lanyado. "I den nåværende forskningen mottok vi 'gjentakende pakker' for mange forskjellige spørsmål og emner og til og med på tvers av forskjellige modeller, noe som øker sannsynligheten for at disse hallusinerte pakkene blir brukt."

Enkel å utnytte

En angriper bevæpnet med navnene på noen få hallusinerte pakker, for eksempel, kunne laste opp pakker med de samme navnene til de aktuelle depotene, vel vitende om at det er stor sannsynlighet for at en LLM vil peke utviklere til det. For å demonstrere at trusselen ikke er teoretisk, tok Lanyado en hallusinert pakke kalt "huggingface-cli" som han møtte under testene og lastet opp en tom pakke med samme navn til Hugging Face-lageret for maskinlæringsmodeller. Utviklere lastet ned den pakken mer enn 32,000 XNUMX ganger, sier han.

Fra en trusselaktørs ståsted tilbyr pakkehallusinasjoner en relativt enkel vektor for distribusjon av skadelig programvare. "Som vi [så] fra forskningsresultatene, er det ikke så vanskelig," sier han. I gjennomsnitt hallusinerte alle modellene sammen 35 % for nesten 48,000 3.5 spørsmål, legger Lanyado til. GPT-18 hadde den laveste prosentandelen hallusinasjoner; Gemini scoret høyest, med en gjennomsnittlig repetisjon på XNUMX % på alle fire modellene, bemerker han.

Lanyado foreslår at utviklere utviser forsiktighet når de følger pakkeanbefalinger fra en LLM når de ikke er helt sikre på nøyaktigheten. Han sier også at når utviklere møter en ukjent åpen kildekode-pakke, må de besøke pakkelageret og undersøke størrelsen på fellesskapet, vedlikeholdspostene, kjente sårbarheter og dens generelle engasjementsgrad. Utviklere bør også skanne pakken grundig før de introduserer den i utviklingsmiljøet.

spot_img

Siste etterretning

spot_img