Az AI-botok hallucinálják a szoftvercsomagokat, a fejlesztők pedig letöltik azokat

Az AI-botok hallucinálják a szoftvercsomagokat, a fejlesztők pedig letöltik azokat

AI bots hallucinate software packages and devs download them PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Mélyreható Számos nagyvállalat tett közzé forráskódot, amely egy korábban generatív mesterséges intelligencia által hallucinált szoftvercsomagot tartalmaz.

Not only that but someone, having észrevette ezt reoccurring hallucination, had turned that made-up dependency into a real one, which was subsequently downloaded and installed thousands of times by developers as a result of the AI’s bad advice, we’ve learned. If the package was laced with actual malware, rather than being a benign test, the results could have been disastrous.

Bar Lanyado, a Lasso Security biztonsági kutatója szerint az egyik olyan vállalkozás, amelyet a mesterséges intelligencia megtévesztette a csomag beépítésével, az Alibaba, amely a cikk írásakor még mindig tartalmaz egy pip parancs a Python csomag letöltéséhez huggingface-cli Ben Grafikonfordító Telepítési útmutató.

Van egy legit átölelőarc-clisegítségével telepítve pip install -U "huggingface_hub[cli]".

De a huggingface-cli a Python Package Indexen (PyPI) keresztül terjesztve, és az Alibaba GraphTranslatorja által igényelt – a következővel telepítve pip install huggingface-cli – hamis, a mesterséges intelligencia elképzelte, és Lanyado kísérletként valósággá változtatta.

Ő csinálta huggingface-cli decemberben, miután többször is generatív mesterséges intelligencia hallucinálta; ez év februárjában az Alibaba a GraphTranslator README utasításaiban hivatkozott rá, nem pedig az igazi Hugging Face CLI eszközre.

Tanulmány

Lanyado ezt azért tette, hogy feltárja, vajon az ilyen típusú hallucinált szoftvercsomagok – a generatív mesterséges intelligencia modellek által kitalált csomagnevek, feltehetően a projekt fejlesztése során – fennmaradnak-e az idő múlásával, és hogy tesztelje, vajon a kitalált csomagnevek társíthatók-e és felhasználhatók-e rosszindulatú kódok terjesztésére tényleges írással. csomagok, amelyek az AI-k által megálmodott kódneveket használják.

Itt az az ötlet, hogy valaki aljas kérhetne kódot tanácsot a modellektől, feljegyezhetné azokat az elképzelt csomagokat, amelyeket a mesterséges intelligencia rendszerek ismételten ajánlanak, majd ezeket a függőségeket úgy valósítsák meg, hogy amikor ugyanazokat a modelleket használják, és ugyanazokat a javaslatokat kapják, más programozók is belevágjanak. azok a könyvtárak, amelyek rosszindulatú programokkal lehetnek megmérgezve.

Tavaly a Vulcan Cyber ​​biztonsági cégen keresztül, Lanyado közzétett kutatás, amely részletezi, hogyan lehet kódolási kérdést feltenni egy mesterséges intelligencia-modellhez, például a ChatGPT-hez, és olyan választ kap, amely egy nem létező szoftverkönyvtár, -csomag vagy -keretrendszer használatát javasolja.

"Amikor egy támadó ilyen kampányt futtat, olyan csomagokat fog kérni a modelltől, amelyek megoldanak egy kódolási problémát, majd olyan csomagokat kap, amelyek nem léteznek" - magyarázta Lanyado. A regisztráció. "Az azonos nevű rosszindulatú csomagokat feltölti a megfelelő nyilvántartásokba, és onnantól kezdve már csak meg kell várnia, hogy az emberek letöltsék a csomagokat."

Veszélyes feltételezések

Az AI modellek hajlandósága magabiztosan nem létező bírósági ügyekre hivatkozni ma már jól ismert, és nem kis zavart keltett azon ügyvédek körében, akik nem tudtak erről a tendenciáról. És mint kiderült, a generatív mesterséges intelligencia modellek ugyanezt teszik a szoftvercsomagoknál is.

Amint azt Lanyado korábban megjegyezte, a gonosztevők mesterséges intelligencia által kitalált nevet használhatnak egy rosszindulatú csomaghoz, amelyet valamelyik tárolóba feltöltenek, abban a reményben, hogy mások letölthetik a kártevőt. De ahhoz, hogy ez értelmes támadási vektor legyen, az AI-modelleknek ismételten ajánlaniuk kell a közös nevet.

That’s what Lanyado set out to test. Armed with thousands of “how to” questions, he queried four AI models (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard, and Command [Cohere]) regarding programming challenges in five different programming languages/runtimes (Python, Node.js, Go, .Net, and Ruby), each of which has its own packaging system.

Kiderült, hogy a chatbotok által a levegőből előkapott nevek egy része tartós, némelyik különböző modelleken. És a kitartás – a hamis név ismétlődése – a kulcsa annak, hogy a mesterséges intelligencia szeszélyét funkcionális támadássá változtassuk. A támadónak szüksége van arra, hogy a mesterséges intelligencia modellje megismételje a hallucinált csomagok nevét a felhasználóknak adott válaszaiban az ilyen néven létrehozott rosszindulatú programok megkeresésére és letöltésére.

Lanyado véletlenszerűen választott ki 20 kérdést a zero-shot hallucinációkhoz, és 100-szor tette fel ezeket minden modellnek. Célja az volt, hogy felmérje, milyen gyakran maradt ugyanaz a hallucinált csomagnév. Tesztének eredményei azt mutatják, hogy a nevek elég gyakran tartósak ahhoz, hogy funkcionális támadási vektorok lehessenek, bár nem mindig, és egyes csomagoló ökoszisztémákban jobban, mint másokban.

A GPT-4 esetében a kérdésekre adott válaszok 24.2 százaléka okozott hallucinált csomagokat, amelyek 19.6 százaléka ismétlődő volt, Lanyado szerint. Asztal biztosított A regisztrációAz alábbiakban a GPT-4 válaszok részletesebb lebontása látható.

  Piton node.js Rubin . NET Go
Összes kérdés 21340 13065 4544 5141 3713
Kérdések legalább egy hallucinációs csomaggal 5347 (25%) 2524 (19.3%) 1072 (23.5%) 1476 (28.7%) 1093 hasznosítható (21.2%) 1150 (30.9%) 109 hasznosítható (2.9%)
Hallucinációk nulla lövésben 1042 (4.8%) 200 (1.5%) 169 (3.7%) 211 (4.1%) 130 hasznosítható (2.5%) 225 (6%) 14 hasznosítható (0.3%)
Hallucinációk a második lövésben 4532 (21%) 2390 (18.3%) 960 (21.1%) 1334 (25.9%) 1006 hasznosítható (19.5%) 974 (26.2%) 98 hasznosítható (2.6%)
Ismétlődés nulla ütésben 34.4% 24.8% 5.2% 14% -

A GPT-3.5 esetében a kérdésekre adott válaszok 22.2 százaléka váltott ki hallucinációt, 13.6 százaléka pedig ismétlődést. Az Ikrek esetében a kérdések 64.5-e hozott kitalált nevet, amelyek mintegy 14 százaléka ismétlődött. Cohere esetében pedig 29.1 százalék volt hallucináció, 24.2 százalék ismétlés.

Ennek ellenére a Go és a .Net csomagoló ökoszisztémáit úgy építették fel, hogy korlátozzák a kizsákmányolás lehetőségét azáltal, hogy megtagadják a támadók hozzáférését bizonyos útvonalakhoz és nevekhoz.

"A Go-ban és a .Net-ben hallucinált csomagokat kaptunk, de ezek közül sokat nem lehetett támadásra használni (a Go-ban a számok sokkal jelentősebbek voltak, mint a .Net-ben), mindegyik nyelvnek megvan a maga oka" - magyarázta Lanyado. A regisztráció. „Pythonban és npm-ben ez nem így van, mivel a modell nem létező csomagokat ajánl nekünk, és semmi sem akadályoz meg abban, hogy ilyen nevű csomagokat töltsünk fel, így határozottan sokkal könnyebb ilyen támadást futtatni olyan nyelveken, mint pl. Python és Node.js.”

PoC rosszindulatú program telepítése

Lanyado ezt a gondolatot bizonyító rosszindulatú szoftverek – a Python ökoszisztéma ártalmatlan állományának – terjesztésével tette fel. A ChatGPT futtatásra vonatkozó tanácsa alapján pip install huggingface-cli, feltöltött egy üres csomagot ugyanazon a néven a PyPI-be – a fent említettet –, és létrehozott egy dummy nevű csomagot. blabladsa123 a csomag-nyilvántartási ellenőrzés és a tényleges letöltési kísérletek elkülönítése.

Az eredmény szerinte az huggingface-cli több mint 15,000 XNUMX hiteles letöltést kapott a három hónap alatt, amíg elérhető volt.

„Emellett keresést is végeztünk a GitHubon, hogy megállapítsuk, használták-e ezt a csomagot más cégek adattáraiban” – mondta Lanyado az írás kísérletéhez.

„Eredményeink feltárták, hogy több nagyvállalat használja vagy ajánlja ezt a csomagot a tárhelyén. Például ennek a csomagnak a telepítésére vonatkozó utasítások megtalálhatók az Alibaba által végzett kutatásoknak szentelt adattár README részében.

Az Alibaba nem válaszolt a megjegyzéskérésre.

Lanyado azt is elmondta, hogy volt egy Hugging Face tulajdonában lévő projekt, amely magában foglalta a hamis huggingface-cli-t, de eltávolítva miután riasztotta a biz.

Eddig legalábbis ezt a technikát nem használták olyan tényleges támadásban, amelyről Lanyado tud.

"A hallucinált csomagunkon kívül (a mi csomagunk nem rosszindulatú, csak egy példa arra, hogy milyen könnyű és veszélyes lehet ezt a technikát kihasználni), még nem azonosítottam, hogy rosszindulatú szereplők kihasználták-e ezt a támadási technikát" - mondta. "Fontos megjegyezni, hogy bonyolult azonosítani egy ilyen támadást, mivel nem hagy sok lépést." ®

Időbélyeg:

Még több A regisztráció