Halucynacje AI stanowią nowe zagrożenie dla łańcucha dostaw oprogramowania

W przerażającym nowym odkryciu dla deweloperów i organizacji polegających na sztucznej inteligencji w kodowaniu, badacze odkryli nowe zagrożenie dla łańcucha dostaw stworzone przez halucynacje AI w modelach generujących kod. Ten nowy wektor ataku, nazwany slopsquatting , może umożliwić złośliwym aktorom infiltrację ekosystemów oprogramowania poprzez wykorzystanie fikcyjnych pakietów halucynowanych przez Large Language Models (LLM).
Niebezpieczeństwo tkwi w fakcie, że LLM często „halucynują” pakiety — sugerując lub wstawiając odniesienia do zależności oprogramowania, które po prostu nie istnieją. W badaniu przeprowadzonym wspólnie przez University of Texas w San Antonio, University of Oklahoma i Virginia Tech odkryto, że żaden z 16 popularnych testowanych LLM nie był odporny na to zjawisko.
Spis treści
Czym jest slopsquatting i jak działa?
Slopsquatting bierze tę halucynacyjną wadę i zamienia ją w broń. Kiedy LLM sugeruje nieistniejący pakiet podczas generowania kodu, cyberprzestępcy mogą szybko zarejestrować złośliwy pakiet pod tą nazwą. Po opublikowaniu każdy programista, który akceptuje wygenerowany przez AI kod za dobrą monetę, może nieświadomie zaimportować i uruchomić złośliwy pakiet. To nie tylko zagraża indywidualnemu projektowi, ale może również rozprzestrzeniać się w całych łańcuchach dostaw oprogramowania, jeśli zainfekowany kod zostanie ponownie wykorzystany lub udostępniony.
Badanie wykazało, że z 2,23 miliona pakietów wygenerowanych w scenariuszach testowych Python i JavaScript, prawie 440 000 — czyli około 19,7% — było halucynacjami. Z tego aż 205 474 to unikalne fikcyjne nazwy pakietów. Większość halucynacji — 81% — była unikalna dla konkretnego modelu, który je wygenerował, co wskazuje na niespójne zachowania w różnych LLM.
Komercyjne modele AI wywoływały halucynacje pakietów w co najmniej 5,2% przypadków, podczas gdy modele open-source radziły sobie znacznie gorzej, a wskaźniki halucynacji osiągnęły 21,7%. Co alarmujące, błędy te nie były jednorazowymi przypadkami. Ponad połowa wywoływanych halucynacji pakietów (58%) pojawiała się wielokrotnie w ciągu zaledwie 10 iteracji, co pokazuje wyraźną tendencję do uporczywości.
Rosnące ryzyko kodu generowanego przez sztuczną inteligencję w rozwoju oprogramowania
Podczas gdy poprzednie badania potwierdziły zagrożenie typosquattingiem — gdzie atakujący wykorzystują błędnie wpisane lub wprowadzające w błąd nazwy pakietów — ten nowy atak slopsquatting stanowi pomijaną i potencjalnie znacznie bardziej niebezpieczną odmianę. W przeciwieństwie do typosquattingu, który żeruje na błędach ludzkich, slopsquatting wykorzystuje postrzegany autorytet i wiarygodność kodu generowanego przez sztuczną inteligencję.
Być może najbardziej fascynujące — i równie niepokojące — odkrycie badaczy, że LLM-y były zdolne do rozpoznawania wielu własnych halucynacji. Sugeruje to niewykorzystany potencjał samoregulacji, który mógłby zostać wykorzystany w przyszłych mechanizmach bezpieczeństwa. Wskazuje to również na możliwość wdrożenia narzędzi wykrywania w modelu w celu zapobiegania dystrybucji wadliwego lub niebezpiecznego kodu.
Jak programiści mogą chronić się przed halucynacjami pakietów AI
Aby przeciwdziałać zagrożeniu, badacze proponują szereg środków zaradczych. Obejmują one zaawansowane techniki inżynierii natychmiastowej, takie jak Retrieval Augmented Generation (RAG), szybkie dostrajanie i samodoskonalenie. Po stronie rozwoju modelu strategie takie jak nadzorowane dostrajanie i ulepszone algorytmy dekodowania mogą pomóc zmniejszyć częstość występowania halucynacji.
Ponieważ generatywna sztuczna inteligencja nadal przekształca rozwój oprogramowania, niniejsze badanie jest jaskrawym przypomnieniem, że wygoda może mieć swoją cenę. Programiści muszą zachować czujność i krytycyzm wobec kodu generowanego przez sztuczną inteligencję, zwłaszcza jeśli chodzi o zarządzanie zależnościami. Integracja narzędzi do analizy statycznej i przeglądów ręcznych przed zainstalowaniem jakichkolwiek zalecanych pakietów jest teraz ważniejsza niż kiedykolwiek.
Krajobraz zagrożeń ewoluuje szybko, a jak pokazują te badania, tak samo musi się zmieniać nasza obrona. To, co kiedyś wydawało się science fiction — sztuczna inteligencja wyobrażająca sobie oprogramowanie, które nie istnieje — stało się bardzo realnym problemem cyberbezpieczeństwa o szeroko zakrojonych implikacjach.