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

Az AI-botok hallucinálják a szoftvercsomagokat, a fejlesztők pedig letöltik őket PlatoBlockchain Data Intelligence. Függőleges keresés. 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.

Nem csak ez, hanem valaki, akinek van észrevette ezt Megtudtuk, hogy az ismétlődő hallucináció ezt a kitalált függőséget valóságossá változtatta, amelyet később a fejlesztők több ezer alkalommal letöltöttek és telepítettek az AI rossz tanácsa következtében. Ha a csomagot valódi rosszindulatú programokkal látták el, nem pedig jóindulatú tesztet, az eredmények katasztrofálisak lettek volna.

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.

Lanyado ezt akarta tesztelni. Több ezer „hogyan kell” kérdéssel felvértezve négy mesterséges intelligencia modellt (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard és Command [Cohere]) kérdezett meg öt különböző programozási nyelven/futási környezetben (Python, Node.js, Go, .Net és Ruby), amelyek mindegyike saját csomagolási rendszerrel rendelkezik.

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ó