Az átható LLM-hallucinációk kiterjesztik a kódfejlesztő támadási felületét

Az átható LLM-hallucinációk kiterjesztik a kódfejlesztő támadási felületét

Átterjedő LLM-hallucinációk A kód fejlesztői támadási felületének PlatoBlockchain adatintelligenciájának kiterjesztése. Függőleges keresés. Ai.

A közelmúltban közzétett kutatás szerint a szoftverfejlesztők nagy nyelvi modelleket (LLM) használnak a korábban gondoltnál nagyobb lehetőséget a támadók számára, hogy rosszindulatú csomagokat terjeszthessenek a fejlesztői környezetekbe.

Az LLM biztonsági beszállító, a Lasso Security tanulmánya egy tavalyi jelentés nyomon követése, amely a lehetőségekről szól támadók, hogy visszaéljenek az LLM-ek hallucinációs hajlamával, vagy a látszólag elfogadható, de tényszerűen nem megalapozott generálás a felhasználói bevitelre adott válaszként eredményezi.

AI csomag hallucináció

A korábbi tanulmány a ChatGPT azon tendenciájára összpontosított, hogy kódkönyvtárak neveit gyártsa – többek között –, amikor a szoftverfejlesztők az AI-képes chatbot segítségét kérték egy fejlesztői környezetben. Más szóval, a chatbot néha nem létező csomagokra mutató hivatkozásokat lövellt ki nyilvános kódtárolókban, amikor a fejlesztő megkérheti, hogy javasoljon csomagokat a projektben.

Bar Lanyado biztonsági kutató, a tanulmány szerzője és jelenleg a Lasso Security munkatársa azt találta, hogy a támadók könnyen eldobhatnak egy tényleges rosszindulatú csomagot arra a helyre, amelyre a ChatGPT mutat, és ugyanazt a nevet adhatják neki, mint a hallucinált csomagnak. Bármely fejlesztő, aki letölti a csomagot a ChatGPT ajánlása alapján, rosszindulatú programokat vezethet be fejlesztői környezetébe.

Lanyado-é nyomon követési kutatás megvizsgálta a csomag hallucináció problémájának elterjedtségét négy különböző nagy nyelvi modellben: GPT-3.5-Turbo, GPT-4, Gemini Pro (korábban Bard) és Coral (Cohere). Azt is tesztelte, hogy az egyes modellek mennyire hajlamosak hallucinált csomagokat generálni különböző programozási nyelveken, valamint azt, hogy milyen gyakorisággal generálják ugyanazt a hallucinált csomagot.

A tesztekhez Lanyado egy listát állított össze több ezer „hogyan kell” kérdésből, amelyekhez a fejlesztők különböző programozási környezetekben – python, node.js, go, .net, ruby ​​– leggyakrabban kérnek segítséget az LLM-ektől a fejlesztői környezetekben. Lanyado ezután minden modellnek feltett egy kódolással kapcsolatos kérdést, valamint egy, a kérdéshez kapcsolódó csomagra vonatkozó ajánlást. Arra is kért minden modellt, hogy ajánljanak további 10 csomagot ugyanazon probléma megoldására.

Ismétlődő eredmények

Az eredmények aggasztóak voltak. Lanyado Geminivel folytatott „beszélgetéseinek” megdöbbentő 64.5%-a hallucinált csomagokat generált. A Coral esetében ez a szám 29.1% volt; más LLM-ek, mint például a GPT-4 (24.2%) és a GPT3.5 (22.5%), nem jártak sokkal jobban.

Amikor Lanyado minden modellnek 100-szor feltette ugyanazt a kérdéssort, hogy megtudja, milyen gyakran hallucinálják a modellek ugyanazokat a csomagokat, az ismétlési arányokat is szemöldökhúzónak találta. Cohere például az esetek 24%-ában ugyanazokat a hallucinált csomagokat okádta ki; Chat GPT-3.5 és Gemini körülbelül 14%, GPT-4 pedig 20%. Több esetben a különböző modellek ugyanazt vagy hasonló csomagokat hallucináltak. A legtöbb ilyen kereszthallucinált modell a GPT-3.5 és a Gemini között fordult elő.

Lanyado azt mondja, hogy még ha különböző fejlesztők is feltesznek egy kérdést egy LLM-nek ugyanabban a témában, de másképp fogalmazták meg a kérdéseket, akkor is valószínű, hogy az LLM minden esetben ugyanazt a hallucinált csomagot ajánlja. Más szavakkal, minden fejlesztő, aki LLM-et használ a kódoláshoz, valószínűleg sok hasonló hallucinált csomaggal találkozik.

„A kérdés teljesen más lehet, de hasonló témában, és a hallucináció továbbra is előfordulna, így ez a technika nagyon hatékony” – mondja Lanyado. „A jelenlegi kutatás során „ismétlődő csomagokat” kaptunk sok különböző kérdéshez és tárgyhoz, sőt különböző modellekre is, ami növeli a hallucinált csomagok használatának valószínűségét.”

Könnyen kihasználható

Például egy támadó, aki néhány hallucinált csomag nevével van felfegyverkezve, ugyanolyan nevű csomagokat tölthet fel a megfelelő tárolókba, tudván, hogy nagy a valószínűsége annak, hogy egy LLM ráirányítja a fejlesztőket. Annak bizonyítására, hogy a fenyegetés nem elméleti, Lanyado vett egy „huggingface-cli” nevű hallucinált csomagot, amellyel a tesztjei során találkozott, és feltöltött egy azonos nevű üres csomagot a Hugging Face gépi tanulási modellek adattárába. A fejlesztők több mint 32,000 XNUMX alkalommal töltötték le a csomagot, mondja.

A fenyegetések szereplői szempontjából a csomaghallucinációk viszonylag egyszerű vektort kínálnak a rosszindulatú programok terjesztésére. „Amint azt a kutatási eredményekből láttuk, ez nem olyan nehéz” – mondja. Átlagosan az összes modell 35%-ban hallucinált csaknem 48,000 3.5 kérdésre, teszi hozzá Lanyado. A GPT-18 volt a legalacsonyabb százalékban hallucinációk; Megjegyzi, a Gemini érte el a legmagasabb pontszámot, XNUMX%-os átlagos ismétlődéssel mind a négy modellben.

Lanyado azt javasolja, hogy a fejlesztők körültekintően járjanak el, amikor egy LLM csomagjavaslatai szerint járnak el, amikor nem teljesen biztosak azok pontosságában. Azt is elmondja, hogy amikor a fejlesztők egy ismeretlen nyílt forráskódú csomaggal találkoznak, fel kell keresniük a csomagtárat, és meg kell vizsgálniuk a közösség méretét, a karbantartási rekordokat, az ismert sebezhetőségeket és az általános elkötelezettségi arányt. A fejlesztőknek is alaposan át kell vizsgálniuk a csomagot, mielőtt bevezetnék a fejlesztői környezetbe.

Időbélyeg:

Még több Sötét olvasmány