A MI által generált hibás kódfüggőségek – új ellátásilánc-kockázat

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Azáltal, hogy a generatív AI eszközöket egyre többen használják programozásra, valamint azáltal, hogy a modellek az általuk generált kódban gyakran nem létező csomagnevekre hivatkoznak, megjelent egy új típusú ellátási lánc támadási forma, a slopsquatting. Ezt a kifejezést Seth Larson kiberbiztonsági kutató alkotta meg, a typosquatting mintájára – ez utóbbi egy olyan támadási módszer, amelyben a támadók a népszerű könyvtárak nevéhez hasonló neveket használnak abban bízva, hogy a fejlesztők elgépelik és így rosszindulatú csomagokat telepítenek.

A slopsquatting ezzel szemben nem támaszkodik elgépelésre. Ehelyett a támadók olyan rosszindulatú csomagokat hozhatnak létre például PyPI-n, vagy npm-en, amelyek nevei megegyeznek az AI-modellek által gyakran hallucinált, egyébként nem létező csomagnevekkel.

2025 márciusában jelent meg egy tanulmány, amelyben a csomaghallucinációkat vizsgálták. Az esetek körülbelül 20 %-ában (576 000 generált Python és JavaScript mintakód alapján) a generált kódban szereplő csomagok nem léteztek. A helyzet még rosszabb a nyílt forráskódú LLM-eknél, mint a CodeLlama, DeepSeek, WizardCoder vagy Mistral, de még a kereskedelmi eszközöknél, mint a ChatGPT-4 is jelentős, körülbelül 5 %-os a hibaarány.

 arxiv.org

A kutatás kimutatta, hogy a kitalált csomagnevek 38%-a valós csomagok neve által inspirálva készült, 13% elgépelés eredménye volt, míg a fennmaradó 51% teljesen a semmiből lett hallucinálva.

Bár még nincs arra utaló jel, hogy a támadók elkezdték volna aktívan kihasználni ezt az új típusú technikát, a Socket kiberbiztonsági cég kutatói arra figyelmeztetnek, hogy a hallucinált  csomagnevek gyakoriak, megismételhetők és szemantikailag hihetőek, így előre kiszámítható támadási felületet képeznek, ami könnyen kihasználhatóvá válhat.

 arxiv.org

A kockázatot úgy tudjuk csökkenteni, hogy minden AI által ajánlott csomagnevet manuálisan ellenőrzünk, és nem vesszük alapul azt, hogy egy AI által generált példakódban szereplő csomag létező vagy biztonságos. A dependency szkenner eszközök, a lockfile-ok és a hash-ellenőrzés alkalmazása megbízható, ismert verziókhoz kötve jelentősen növeli a biztonságot.

A kutatás azt is kimutatta, hogy az AI “temperature” paraméterének csökkentése (véletlenszerűség mérséklése) kevesebb hibás csomagajánláshoz vezet, így MI-támogatott vagy ”vibe coding” esetén ezt érdemes figyelembe venni.

Mindig ajánlott az AI által generált kódot biztonságos, elkülönített környezetben tesztelni, mielőtt azt éles rendszerekben futtatnánk.

Az ellátási lánc kockázatának áttekintése Forrás: arxiv.org
Az ellátási lánc kockázatának áttekintése Forrás: arxiv.org
Hibaráták az LLM-eknél Forrás: arxiv.org
Hibaráták az LLM-eknél Forrás: arxiv.org