Logo Zephyrnet

Halucinații pervazive LLM Extindeți suprafața de atac a dezvoltatorului de cod

Data:

Utilizarea de către dezvoltatorii de software a modelelor de limbaj mari (LLM) prezintă o oportunitate mai mare decât se credea anterior pentru atacatori de a distribui pachete rău intenționate în mediile de dezvoltare, potrivit cercetărilor publicate recent.

Studiul de la furnizorul de securitate LLM Lasso Security este o continuare a unui raport de anul trecut privind potențialul atacatorii să abuzeze de tendința LLM-urilor de a halucina, sau pentru a genera rezultate aparent plauzibile, dar nu bazate pe fapte, ca răspuns la intrarea utilizatorului.

Pachetul AI Halucinație

precedent de studiu s-a concentrat pe tendința ChatGPT de a fabrica numele bibliotecilor de coduri – printre alte inventii – atunci când dezvoltatorii de software au cerut ajutorul chatbot-ului activat de AI într-un mediu de dezvoltare. Cu alte cuvinte, chatbot-ul a aruncat uneori link-uri către pachete inexistente în depozitele de cod public atunci când un dezvoltator i-ar putea cere să sugereze pachete pentru a le utiliza într-un proiect.

Cercetătorul de securitate Bar Lanyado, autorul studiului și acum la Lasso Security, a descoperit că atacatorii ar putea să arunce cu ușurință un pachet rău intenționat în locația către care indică ChatGPT și să-i dea același nume ca pachetul halucinat. Orice dezvoltator care descarcă pachetul pe baza recomandării ChatGPT ar putea ajunge apoi să introducă malware în mediul său de dezvoltare.

a lui Lanyado cercetare ulterioară a examinat amploarea problemei halucinațiilor pachetului în patru modele mari de limbaj diferite: GPT-3.5-Turbo, GPT-4, Gemini Pro (fostul Bard) și Coral (Cohere). El a testat, de asemenea, tendința fiecărui model de a genera pachete halucinate în diferite limbaje de programare și frecvența cu care au generat același pachet halucinat.

Pentru teste, Lanyado a compilat o listă de mii de întrebări „cum să” pe care dezvoltatorii din diferite medii de programare — python, node.js, go, .net, ruby ​​— caută cel mai frecvent asistență de la LLM în mediile de dezvoltare. Lanyado a adresat apoi fiecărui model o întrebare legată de codificare, precum și o recomandare pentru un pachet legat de întrebare. De asemenea, a cerut fiecărui model să recomande încă 10 pachete pentru a rezolva aceeași problemă.

Rezultate repetitive

Rezultatele au fost tulburătoare. Un uluitor de 64.5% dintre „conversațiile” avute de Lanyado cu Gemenii au generat pachete halucinate. Cu Coral, acest număr a fost de 29.1%; alte LLM precum GPT-4 (24.2%) și GPT3.5 (22.5%) nu s-au descurcat mult mai bine.

Când Lanyado a adresat fiecărui model același set de întrebări de 100 de ori pentru a vedea cât de des modelele ar halucina aceleași pachete, a descoperit că ratele de repetare sunt, de asemenea, atrăgătoare. Cohere, de exemplu, a aruncat aceleași pachete halucinate peste 24% din timp; Chat GPT-3.5 și Gemini în jur de 14%, iar GPT-4 la 20%. În mai multe cazuri, modele diferite au halucinat pachete identice sau similare. Cel mai mare număr de astfel de modele cu halucinate încrucișate a avut loc între GPT-3.5 și Gemeni.

Lanyado spune că, chiar dacă diferiți dezvoltatori i-au adresat unui LLM o întrebare pe același subiect, dar au elaborat întrebările diferit, există probabilitatea ca LLM să recomande același pachet halucinat în fiecare caz. Cu alte cuvinte, orice dezvoltator care folosește un LLM pentru asistență pentru codificare ar întâlni probabil multe dintre aceleași pachete halucinate.

„Întrebarea ar putea fi total diferită, dar pe un subiect similar, iar halucinația ar avea loc în continuare, făcând această tehnică foarte eficientă”, spune Lanyado. „În cercetarea actuală, am primit „pachete repetate” pentru multe întrebări și subiecte diferite și chiar pentru diferite modele, ceea ce crește probabilitatea ca aceste pachete halucinate să fie utilizate.”

Ușor de exploatat

Un atacator înarmat cu numele câtorva pachete halucinate, de exemplu, ar putea încărca pachete cu aceleași nume în depozitele corespunzătoare, știind că există o mare probabilitate ca un LLM să le îndrume dezvoltatorii. Pentru a demonstra că amenințarea nu este teoretică, Lanyado a luat un pachet halucinat numit „huggingface-cli” pe care l-a întâlnit în timpul testelor sale și a încărcat un pachet gol cu ​​același nume în depozitul Hugging Face pentru modelele de învățare automată. Dezvoltatorii au descărcat acel pachet de mai mult de 32,000 de ori, spune el.

Din punctul de vedere al unui actor de amenințare, halucinațiile pachetelor oferă un vector relativ simplu pentru distribuirea de malware. „După cum [am văzut] din rezultatele cercetării, nu este atât de greu”, spune el. În medie, toate modelele au halucinat împreună 35% pentru aproape 48,000 de întrebări, adaugă Lanyado. GPT-3.5 a avut cel mai mic procent de halucinații; Gemenii au obținut cel mai mare punctaj, cu o repetitivitate medie de 18% pentru toate cele patru modele, notează el.

Lanyado sugerează ca dezvoltatorii să fie precauți atunci când acționează pe baza recomandărilor de pachete de la un LLM atunci când nu sunt complet siguri de exactitatea acestuia. El mai spune că atunci când dezvoltatorii întâlnesc un pachet open source necunoscut, trebuie să viziteze depozitul de pachete și să examineze dimensiunea comunității sale, înregistrările sale de întreținere, vulnerabilitățile cunoscute și rata de implicare generală. De asemenea, dezvoltatorii ar trebui să scaneze complet pachetul înainte de a-l introduce în mediul de dezvoltare.

spot_img

Ultimele informații

spot_img