Do hloubky Několik velkých společností zveřejnilo zdrojový kód, který obsahuje softwarový balíček, který byl dříve halucinován generativní AI.
Nejen to, ale někdo, když si všiml této opakující se halucinace, změnil tuto vymyšlenou závislost na skutečnou, která byla následně tisícekrát stažena a nainstalována vývojáři v důsledku špatné rady AI, jak jsme se dozvěděli. Pokud by balíček obsahoval skutečný malware, místo aby šlo o neškodný test, výsledky mohly být katastrofální.
Podle Bara Lanyada, bezpečnostního výzkumníka společnosti Lasso Security, je jednou z firem, které umělá inteligence oklamala při začlenění balíčku, Alibaba, která v době psaní tohoto článku stále obsahuje pip
příkaz ke stažení balíčku Python huggingface-cli
ve svém GraphTranslator instrukce k instalaci.
Existuje legitimní huggingface-cli, nainstalovaný pomocí pip install -U "huggingface_hub[cli]"
.
Avšak huggingface-cli
distribuovaný prostřednictvím Python Package Index (PyPI) a vyžadovaný programem Alibaba's GraphTranslator – nainstalovaný pomocí pip install huggingface-cli
– je falešný, vymyšlený umělou inteligencí a proměněný Lanyadem jako skutečný experiment.
Vytvořil huggingface-cli
v prosinci poté, co ji viděl opakovaně halucinovanou generativní AI; v únoru tohoto roku na to Alibaba odkazovala v pokynech README GraphTranslatoru spíše než na skutečný nástroj CLI Hugging Face.
Studovna
Lanyado tak učinil, aby prozkoumal, zda tyto druhy halucinovaných softwarových balíčků – názvy balíčků vymyšlené generativními modely umělé inteligence, pravděpodobně během vývoje projektu – přetrvávají v průběhu času a aby otestoval, zda lze vymyšlené názvy balíčků kooptovat a použít k distribuci škodlivého kódu napsáním skutečného balíčky, které používají názvy kódu vymyšlené umělými inteligencemi.
Myšlenka je taková, že někdo hanebný by mohl požádat modely o radu s kódem, poznamenat si představované balíčky, které systémy umělé inteligence opakovaně doporučují, a poté tyto závislosti implementovat, aby ostatní programátoři, když používají stejné modely a dostávají stejné návrhy, nakonec zatáhli. ty knihovny, které mohou být otráveny malwarem.
V loňském roce prostřednictvím bezpečnostní firmy Vulcan Cyber, Lanyado zveřejněn výzkum podrobně popisující, jak lze položit otázku kódování modelu umělé inteligence, jako je ChatGPT, a získat odpověď, která doporučuje použití softwarové knihovny, balíčku nebo rámce, který neexistuje.
"Když útočník spustí takovou kampaň, požádá model o balíčky, které řeší problém s kódováním, pak obdrží balíčky, které neexistují," vysvětlil Lanyado. Registru. "Nahraje škodlivé balíčky se stejnými názvy do příslušných registrů a od té chvíle bude muset čekat, až si lidé balíčky stáhnou."
Nebezpečné domněnky
Ochota modelů AI sebevědomě citovat neexistující soudní případy je nyní dobře známá a způsobila nemalé množství rozpaků mezi právníky, kteří si této tendence neuvědomují. A jak se ukazuje, generativní modely umělé inteligence udělají totéž pro softwarové balíčky.
Jak již dříve poznamenal Lanyado, nezbedník může použít název vymyšlený AI pro škodlivý balíček nahraný do nějakého úložiště v naději, že by si ostatní mohli stáhnout malware. Ale aby to byl smysluplný vektor útoku, modely AI by musely opakovaně doporučovat kooptovaný název.
To se Lanyado rozhodl otestovat. Vyzbrojen tisíci otázkami typu „jak na to“ se zeptal na čtyři modely umělé inteligence (GPT-3.5-Turbo, GPT-4, Gemini Pro alias Bard a Coral [Cohere]) ohledně programovacích výzev v pěti různých programovacích jazycích/runtimech (Python, Node.js, Go, .Net a Ruby), z nichž každý má svůj vlastní systém balení.
Ukazuje se, že část jmen, která tito chatboti vytáhli z ničeho, jsou trvalá, některá napříč různými modely. A vytrvalost – opakování falešného jména – je klíčem k přeměně rozmaru AI na funkční útok. Útočník potřebuje, aby model umělé inteligence opakoval názvy halucinovaných balíčků ve svých odpovědích uživatelům na malware vytvořený pod těmito jmény, který mají být vyhledány a staženy.
Lanyado náhodně vybral 20 otázek pro nulové halucinace a položil je 100krát každému modelu. Jeho cílem bylo posoudit, jak často název halucinovaného balíčku zůstal stejný. Výsledky jeho testu odhalují, že jména jsou často dostatečně perzistentní na to, aby se jednalo o funkční vektor útoku, i když ne vždy, a v některých balících ekosystémech více než v jiných.
S GPT-4 24.2 procenta odpovědí na otázky vytvořilo halucinační balíčky, z nichž 19.6 procenta se opakovalo, podle Lanyado. Stůl poskytnutý Registru, níže, ukazuje podrobnější rozpis odpovědí GPT-4.
PYTHON | Node.JS | Rubín | . NET | Go | |
---|---|---|---|---|---|
Celkem otázek | 21340 | 13065 | 4544 | 5141 | 3713 |
Otázky s alespoň jedním halucinačním balíčkem | 5347 (25%) | 2524 (19.3%) | 1072 (23.5%) | 1476 (28.7 %) 1093 využitelných (21.2 %) | 1150 (30.9 %) 109 využitelných (2.9 %) |
Halucinace v nulovém výstřelu | 1042 (4.8%) | 200 (1.5%) | 169 (3.7%) | 211 (4.1 %) 130 využitelných (2.5 %) | 225 (6 %) 14 využitelných (0.3 %) |
Halucinace ve druhém výstřelu | 4532 (21%) | 2390 (18.3%) | 960 (21.1%) | 1334 (25.9 %) 1006 využitelných (19.5 %) | 974 (26.2 %) 98 využitelných (2.6 %) |
Opakovatelnost v nulovém záběru | 34.4% | 24.8% | 5.2% | 14% | - |
S GPT-3.5 vyvolalo 22.2 procenta odpovědí na otázky halucinace a 13.6 procenta se opakovaly. Pro Blížence přineslo 64.5 otázek vymyšlená jména, z nichž asi 14 procent se opakovalo. A pro Cohere to bylo 29.1 procenta halucinací, 24.2 procenta opakování.
I tak byly ekosystémy balíčků v Go a .Net vybudovány způsoby, které omezují možnost zneužití tím, že útočníkům odepírají přístup k určitým cestám a jménům.
"V Go a .Net jsme obdrželi halucinační balíčky, ale mnoho z nich nebylo možné použít k útoku (v Go byla čísla mnohem významnější než v .Net), každý jazyk ze svého vlastního důvodu," vysvětlil Lanyado Registru. „V Pythonu a npm tomu tak není, protože nám model doporučuje balíčky, které neexistují a nic nám nebrání v nahrávání balíčků s těmito názvy, takže je rozhodně mnohem snazší spustit tento druh útoku na jazyky jako Python a Node.js.“
Zaočkování malwaru PoC
Lanyado to dokázal tím, že distribuoval proof-of-concept malware – neškodnou sadu souborů v ekosystému Pythonu. Na základě rady ChatGPT spustit pip install huggingface-cli
, nahrál prázdný balíček pod stejným názvem do PyPI – výše zmíněného – a vytvořil fiktivní balíček s názvem blabladsa123
pomáhá oddělit skenování registru balíčků od skutečných pokusů o stažení.
Výsledek, jak tvrdí, je takový huggingface-cli
získal více než 15,000 XNUMX autentických stažení za tři měsíce, kdy byl k dispozici.
„Kromě toho jsme provedli vyhledávání na GitHubu, abychom zjistili, zda byl tento balíček využíván v úložištích jiných společností,“ řekl Lanyado v zápis pro jeho experiment.
„Naše zjištění odhalila, že několik velkých společností tento balíček používá nebo doporučuje ve svých úložištích. Například pokyny k instalaci tohoto balíčku lze nalézt v README úložiště věnovaného výzkumu prováděnému společností Alibaba.“
Alibaba nereagovala na žádost o komentář.
Lanyado také řekl, že existuje projekt vlastněný Hugging Face, který zahrnoval falešné huggingface-cli, ale to byl odstraněn poté, co upozornil biz.
Alespoň zatím tato technika nebyla použita ve skutečném útoku, o kterém Lanyado ví.
"Kromě našeho halucinačního balíčku (náš balíček není škodlivý, je to jen příklad toho, jak snadné a nebezpečné by mohlo být využití této techniky), musím ještě identifikovat zneužití této techniky útoku zákeřnými aktéry," řekl. "Je důležité si uvědomit, že identifikovat takový útok je složité, protože nezanechává mnoho stop." ®
- SEO Powered Content & PR distribuce. Získejte posílení ještě dnes.
- PlatoData.Network Vertikální generativní Ai. Zmocnit se. Přístup zde.
- PlatoAiStream. Inteligence Web3. Znalosti rozšířené. Přístup zde.
- PlatoESG. Uhlík, CleanTech, Energie, Životní prostředí, Sluneční, Nakládání s odpady. Přístup zde.
- PlatoHealth. Inteligence biotechnologií a klinických studií. Přístup zde.
- Zdroj: https://go.theregister.com/feed/www.theregister.com/2024/03/28/ai_bots_hallucinate_software_packages/