Logotip Zephyrnet

Prodorne halucinacije LLM Razširite površino napada razvijalca kode

Datum:

Glede na nedavno objavljeno raziskavo razvijalci programske opreme uporabljajo velike jezikovne modele (LLM) za napadalce večjo priložnost, kot se je prej mislilo, da distribuirajo zlonamerne pakete v razvojna okolja.

Študija prodajalca varnosti LLM Lasso Security je nadaljevanje lanskoletnega poročila o možnostih za napadalci zlorabljajo nagnjenost LLM-jev k halucinacijam, ali ustvariti navidezno verjetne, vendar ne utemeljene na dejstvih, rezultate kot odgovor na vnos uporabnika.

Halucinacija paketa AI

O Predhodna študija se je osredotočil na težnjo ChatGPT, da si med drugimi izmišljotinami izdeluje imena kodnih knjižnic, ko so razvijalci programske opreme prosili za pomoč chatbota, ki podpira AI, v razvojnem okolju. Z drugimi besedami, chatbot je včasih izdal povezave do neobstoječih paketov v javnih repozitorijih kode, ko bi ga lahko razvijalec prosil, naj predlaga pakete za uporabo v projektu.

Varnostni raziskovalec Bar Lanyado, avtor študije in zdaj pri Lasso Security, je ugotovil, da lahko napadalci zlahka spustijo dejanski zlonamerni paket na lokacijo, na katero kaže ChatGPT, in mu dajo isto ime kot halucinirani paket. Vsak razvijalec, ki prenese paket na podlagi priporočila ChatGPT, bi lahko nato v svoje razvojno okolje vnesel zlonamerno programsko opremo.

Lanyadovo nadaljnje raziskave je preučil razširjenost problema halucinacije paketa v štirih različnih velikih jezikovnih modelih: GPT-3.5-Turbo, GPT-4, Gemini Pro (prej Bard) in Coral (Cohere). Preizkusil je tudi nagnjenost vsakega modela k generiranju haluciniranih paketov v različnih programskih jezikih in pogostost, s katero so generirali isti halucinirani paket.

Za teste je Lanyado sestavil seznam na tisoče vprašanj »kako«, pri katerih razvijalci v različnih programskih okoljih – python, node.js, go, .net, ruby ​​– najpogosteje iščejo pomoč pri LLM-jih v razvojnih okoljih. Lanyado je nato vsakemu modelu postavil vprašanje, povezano s kodiranjem, in priporočilo za paket, povezan z vprašanjem. Vsak model je tudi prosil, naj priporoči še 10 paketov za rešitev iste težave.

Ponavljajoči se rezultati

Rezultati so bili zaskrbljujoči. Presenetljivih 64.5 % "pogovorov", ki jih je imel Lanyado z Gemini, je ustvarilo halucinirane pakete. Pri Coralu je bilo to število 29.1 %; drugi LLM-ji, kot sta GPT-4 (24.2 %) in GPT3.5 (22.5 %), se niso odrezali veliko bolje.

Ko je Lanyado vsakemu modelu 100-krat zastavil isti niz vprašanj, da bi videl, kako pogosto bodo modeli halucinirali iste pakete, je ugotovil, da je stopnja ponovitve prav tako dvignila obrvi. Cohere je na primer izbruhal iste halucinirane pakete več kot 24 % časa; Chat GPT-3.5 in Gemini okoli 14 %, GPT-4 pa 20 %. V več primerih so različni modeli halucinirali iste ali podobne pakete. Največje število takih navzkrižno haluciniranih modelov se je zgodilo med GPT-3.5 in Gemini.

Lanyado pravi, da tudi če bi različni razvijalci LLM-ju zastavili vprašanje o isti temi, vendar bi vprašanja oblikovali drugače, obstaja verjetnost, da bi LLM v vsakem primeru priporočil isti halucinirani paket. Z drugimi besedami, vsak razvijalec, ki uporablja LLM za pomoč pri kodiranju, bi verjetno naletel na veliko istih haluciniranih paketov.

"Vprašanje bi lahko bilo povsem drugačno, vendar na podobno temo, halucinacija pa bi se vseeno zgodila, zaradi česar je ta tehnika zelo učinkovita," pravi Lanyado. "V trenutni raziskavi smo prejeli 'ponavljajoče se pakete' za številna različna vprašanja in teme ter celo med različnimi modeli, kar povečuje verjetnost uporabe teh haluciniranih paketov."

Enostaven za izkoriščanje

Napadalec, oborožen z imeni nekaj haluciniranih paketov, bi lahko na primer naložil pakete z istimi imeni v ustrezna skladišča, vedoč, da obstaja velika verjetnost, da bi LLM nanje usmeril razvijalce. Da bi dokazal, da grožnja ni teoretična, je Lanyado vzel en haluciniran paket, imenovan »huggingface-cli«, na katerega je naletel med svojimi testi, in naložil prazen paket z istim imenom v repozitorij Hugging Face za modele strojnega učenja. Razvijalci so ta paket prenesli več kot 32,000-krat, pravi.

S stališča akterja grožnje ponujajo halucinacije paketov relativno preprost vektor za distribucijo zlonamerne programske opreme. »Kot smo [videli] iz rezultatov raziskave, ni tako težko,« pravi. V povprečju so vsi modeli skupaj halucinirali 35 % za skoraj 48,000 vprašanj, dodaja Lanyado. GPT-3.5 je imel najnižji odstotek halucinacij; Gemini je dosegel najvišjo oceno s povprečno ponovljivostjo 18 % pri vseh štirih modelih, ugotavlja.

Lanyado predlaga, da so razvijalci previdni, ko se ravnajo po priporočilih paketov LLM, kadar niso popolnoma prepričani o njihovi natančnosti. Pravi tudi, da morajo razvijalci, ko naletijo na neznani odprtokodni paket, obiskati repozitorij paketov in preučiti velikost njegove skupnosti, zapise vzdrževanja, znane ranljivosti in splošno stopnjo angažiranosti. Razvijalci morajo tudi temeljito pregledati paket, preden ga uvedejo v razvojno okolje.

spot_img

Najnovejša inteligenca

spot_img