Generatywna analiza danych

Wszechobecne halucynacje LLM zwiększają powierzchnię ataku programistów kodu

Data:

Jak wynika z niedawno opublikowanych badań, korzystanie przez twórców oprogramowania z dużych modeli językowych (LLM) stwarza dla atakujących większe niż wcześniej sądzono możliwości dystrybucji szkodliwych pakietów do środowisk programistycznych.

Badanie przeprowadzone przez dostawcę zabezpieczeń LLM, Lasso Security, stanowi kontynuację raportu z zeszłego roku na temat potencjału atakujący wykorzystują skłonność LLM do halucynacjilub w celu wygenerowania pozornie wiarygodnych, ale niepopartych faktami wyników w odpowiedzi na dane wejściowe użytkownika.

Halucynacja pakietu AI

Połączenia Poprzednie badanie skupił się na tendencji ChatGPT do fabrykowania nazw bibliotek kodów – między innymi – gdy twórcy oprogramowania poprosili chatbota obsługującego sztuczną inteligencję o pomoc w środowisku programistycznym. Innymi słowy, chatbot czasami wyrzucał łącza do nieistniejących pakietów w publicznych repozytoriach kodu, gdy programista mógł poprosić go o zasugerowanie pakietów do wykorzystania w projekcie.

Badacz bezpieczeństwa Bar Lanyado, autor badania, obecnie pracujący w Lasso Security, odkrył, że napastnicy mogą z łatwością upuścić rzeczywisty szkodliwy pakiet w lokalizacji wskazanej przez ChatGPT i nadać mu tę samą nazwę, co pakiet halucynowany. Każdy programista, który pobierze pakiet w oparciu o rekomendację ChatGPT, może w rezultacie wprowadzić złośliwe oprogramowanie do swojego środowiska programistycznego.

Lanyado badania uzupełniające zbadali powszechność problemu halucynacji pakietowych w czterech różnych dużych modelach językowych: GPT-3.5-Turbo, GPT-4, Gemini Pro (dawniej Bard) i Coral (Cohere). Przetestował także skłonność każdego modelu do generowania pakietów halucynacyjnych w różnych językach programowania oraz częstotliwość, z jaką generowały te same pakiety halucynacyjne.

Na potrzeby testów Lanyado przygotował listę tysięcy pytań typu „jak to zrobić”, na które programiści pracujący w różnych środowiskach programistycznych — python, node.js, go, .net, ruby ​​— najczęściej zwracają się o pomoc do menedżerów LLM w środowiskach programistycznych. Następnie Lanyado zadał każdemu modelowi pytanie związane z kodowaniem, a także zarekomendował pakiet związany z tym pytaniem. Poprosił także każdy model o zarekomendowanie 10 kolejnych pakietów, które rozwiążą ten sam problem.

Powtarzające się wyniki

Wyniki były niepokojące. Zaskakujące 64.5% „rozmów”, które Lanyado przeprowadził z Bliźniakami, generowało pakiety halucynacyjne. W przypadku Coralu liczba ta wyniosła 29.1%; inne LLM, takie jak GPT-4 (24.2%) i GPT3.5 (22.5%), nie wypadły dużo lepiej.

Kiedy Lanyado zadał każdemu modelowi ten sam zestaw pytań 100 razy, aby zobaczyć, jak często modelki będą miały halucynacje dotyczące tych samych opakowań, stwierdził, że częstotliwość powtarzania również była zaskakująca. Na przykład Cohere wypluwał te same halucynacyjne paczki w ponad 24% przypadków; Czat GPT-3.5 i Gemini około 14%, a GPT-4 po 20%. W kilku przypadkach różne modele wywoływały halucynacje tych samych lub podobnych opakowań. Najwięcej takich modeli z halucynacjami krzyżowymi wystąpiło pomiędzy GPT-3.5 i Gemini.

Lanyado twierdzi, że nawet jeśli różni programiści zadali LLM pytanie na ten sam temat, ale stworzyli je inaczej, istnieje prawdopodobieństwo, że LLM poleciłby w każdym przypadku ten sam pakiet halucynacji. Innymi słowy, każdy programista korzystający z LLM do pomocy w kodowaniu prawdopodobnie napotkałby wiele takich samych pakietów zawierających halucynacje.

„Pytanie mogłoby być zupełnie inne, ale dotyczyć podobnego tematu, a halucynacje nadal występowały, co czyni tę technikę bardzo skuteczną” – mówi Lanyado. „W bieżącym badaniu otrzymaliśmy „powtarzające się pakiety” dotyczące wielu różnych pytań i tematów, a nawet różnych modeli, co zwiększa prawdopodobieństwo wykorzystania tych halucynacyjnych pakietów”.

Łatwy do wykorzystania

Na przykład osoba atakująca uzbrojona w nazwy kilku halucynowanych pakietów może przesłać pakiety o tych samych nazwach do odpowiednich repozytoriów, wiedząc, że istnieje duże prawdopodobieństwo, że LLM wskaże je programistom. Aby wykazać, że zagrożenie nie jest teoretyczne, Lanyado wziął jeden halucynacyjny pakiet o nazwie „huggingface-cli”, który napotkał podczas swoich testów, i przesłał pusty pakiet o tej samej nazwie do repozytorium Hugging Face dla modeli uczenia maszynowego. Mówi, że programiści pobrali ten pakiet ponad 32,000 XNUMX razy.

Z punktu widzenia cyberprzestępcy halucynacje pakietowe stanowią stosunkowo prosty wektor dystrybucji złośliwego oprogramowania. „Jak [zobaczyliśmy] na podstawie wyników badań, nie jest to takie trudne” – mówi. Lanyado dodaje, że średnio wszystkie modelki miały łącznie 35% halucynacji na prawie 48,000 3.5 pytań. GPT-18 miał najniższy odsetek halucynacji; Zauważa, że ​​Gemini uzyskało najwyższy wynik, ze średnią powtarzalnością wynoszącą XNUMX% we wszystkich czterech modelach.

Lanyado sugeruje, aby programiści zachowywali ostrożność, stosując się do rekomendacji pakietu LLM, gdy nie są całkowicie pewni jego dokładności. Mówi również, że gdy programiści napotykają nieznany pakiet open source, muszą odwiedzić repozytorium pakietów i sprawdzić wielkość społeczności, historię konserwacji, znane luki w zabezpieczeniach i ogólny wskaźnik zaangażowania. Programiści powinni również dokładnie przeskanować pakiet przed wprowadzeniem go do środowiska programistycznego.

spot_img

Najnowsza inteligencja

spot_img

Czat z nami

Cześć! Jak mogę ci pomóc?