Plugin4Shell: egy ártatlannak látszó bővítményen keresztül vehették át az AI-kódoló ügynökök gépeit

Súlyos, felhasználói beavatkozás nélkül kihasználható biztonsági hibát találtak a legelterjedtebb AI-alapú programozói ügynökök bővítménykezelésében. Az Air Security kutatói szerint a Plugin4Shell névre keresztelt sérülékenység az Anthropic Claude Code, az OpenAI Codex, a Google Gemini CLI és a Microsoft GitHub Copilot rendszerét is érintette. A támadó egy korábban ellenőrzött és megbízhatónak minősített bővítményt cserélhetett le rosszindulatú kódra úgy, hogy a felhasználónak semmit sem kellett letöltenie, jóváhagynia vagy megnyitnia.

A sérülékenység nem magában a nyelvi modellben volt, hanem az AI-ügynököket körülvevő infrastruktúrában. Ezek a programok nemcsak kódot javasolnak, hanem hozzáférhetnek a projekt fájljaihoz, parancsokat futtathatnak, csomagokat telepíthetnek, GitHub-tárolókat módosíthatnak, és gyakran különböző belépési kulcsokat, API-tokeneket vagy felhőszolgáltatási hitelesítő adatokat is elérnek. Ha egy támadó ebben a környezetben saját kódot tud futtatni, lényegében mindent megszerezhet, amihez az ügynök jogosultsággal rendelkezik. A bővítménypiacok elvileg úgy védekeznek az utólagos kódcserével szemben, hogy az ellenőrzött bővítményt egy konkrét Git-commit azonosítójához, az úgynevezett SHA-hashhez rögzítik. Ez olyan, mintha nem egyszerűen egy könyv címét írnánk fel, hanem pontosan meghatároznánk, melyik kiadás melyik példányát fogadjuk el. A fejlesztő később átírhatja a bővítmény újabb változatát, de az AI-ügynöknek továbbra is a korábban ellenőrzött kódot kellene letöltenie.

A Plugin4Shell ezt a biztonsági mechanizmust tette használhatatlanná. A Claude Code, a Codex és a GitHub Copilot letöltötte a bővítményt, majd kiadott egy parancsot az előre rögzített commit betöltésére, de utána nem ellenőrizte, hogy valóban az a kód került-e a munkakönyvtárba. A támadó ezért létrehozhatott egy olyan Git-ágat, amelynek neve pontosan megegyezett a rögzített commit negyven karakteres azonosítójával. A Git ilyen kétértelmű helyzetben az ág nevét részesíthette előnyben, az ügynök pedig a biztonságosnak hitt commit helyett a támadó rosszindulatú kódját töltötte be. A Gemini CLI esetében ugyanez kissé eltérő módon működött. A rendszer letöltötte ugyan a megfelelő commitot, de a FETCH_HEAD hivatkozás betöltésekor nem ellenőrizte a ténylegesen aktivált kód azonosítóját. Ha a támadó a tároló alapértelmezett ágát FETCH_HEAD névre keresztelte, a Gemini CLI a megfelelő commit helyett ezt az ágat tölthette be. A biztonsági rés attól vált „zero-click”, vagyis kattintás nélküli támadássá, hogy a Claude Code és a Codex alapértelmezés szerint automatikusan frissítette a már telepített bővítményeket. A felhasználó korábban telepíthetett egy teljesen ártalmatlan, ellenőrzött kiegészítőt, amely hónapokon keresztül rendesen működött. Ha később a támadó megszerezte a bővítmény kódtárolóját, vagy eleve ő készítette a jóindulatúnak mutatkozó kiegészítőt, a következő automatikus frissítéssel észrevétlenül rosszindulatú kód kerülhetett az érintett gépekre.

A támadáshoz tehát nem elegendő annyi, hogy valaki az interneten ránéz egy Codexet vagy Claude Code-ot futtató számítógépre. Előbb ellenőrzést kell szereznie egy már telepített bővítmény tárolója felett, vagy egy ártalmatlan bővítményt kell elfogadtatnia valamelyik piactéren. Ez azonban nem pusztán elméleti lehetőség: szoftveres kódtárolók és elhagyott projektek átvételére, valamint megbízható csomagok utólagos megfertőzésére korábban is számos példa volt. A veszélyt az növeli, hogy az AI-kódoló ügynökök általában jóval nagyobb jogosultságokkal dolgoznak, mint egy hagyományos szöveges chatbot. Egy sikeres támadás lehetővé teheti a forráskód ellopását, API-kulcsok és GitHub-tokenek megszerzését, vállalati titkok kiszivárogtatását, további kártevők telepítését, sőt a szoftverellátási lánc megfertőzését is. Utóbbi esetben a támadó nemcsak a fejlesztő gépéhez fér hozzá, hanem rosszindulatú kódot csempészhet a készülő termékbe, amelyet később akár több ezer ügyfél telepít.

Az Air Security júniusban értesítette a négy vállalatot. Az Anthropic a Claude Code 2.1.179-es, az OpenAI pedig a Codex 0.146.0-s változatában javította a hibát. A javítás lényege meglehetősen egyszerű: a bővítmény letöltése után az ügynöknek ellenőriznie kell, hogy a ténylegesen betöltött HEAD pontosan megegyezik-e az előre rögzített commit azonosítójával. Ha nem, a telepítést vagy frissítést azonnal meg kell szakítani. A kutatók beszámolója szerint a Microsoft a jelentés közzétételéig nem adott ki javítást a GitHub Copilothoz. A GitHub azzal érvelt, hogy saját szolgáltatásában nem lehet commitazonosítóra hasonlító ág- vagy címkenevet létrehozni, így a támadás ott nem működik. Az Air Security szerint azonban ez nem oldja meg teljesen a problémát, mert a Copilot más szolgáltatókon – például Bitbucketen vagy saját üzemeltetésű Git-szervereken – tárolt bővítménypiacokat is támogat, ezeken pedig engedélyezett lehet a negyven karakteres SHA-nak látszó ágnév. A Google közölte a kutatókkal, hogy a Gemini CLI-t már kivezeti, ezért nem ad ki hozzá javítást. A még mindig ezt használó fejlesztőknek a vállalat az újabb Antigravity fejlesztői környezetre történő átállást javasolja. Az Air Security szerint ez utóbbit a Plugin4Shell adott változata nem érinti, mert nem ugyanazt a bővítménypiaci SHA-rögzítést használja.

A Plugin4Shell nem azonos azokkal a Black Hat 2026 konferencián bemutatott sérülékenységekkel, amelyekben rosszindulatúan megfogalmazott GitHub-bejegyzésekkel, promptinjekcióval vették rá a kódoló ügynököket parancsok futtatására vagy titkos adatok kiszolgáltatására. A két kutatás azonban ugyanarra a problémára mutat rá: az AI-ügynök biztonságát nemcsak a modell viselkedése határozza meg, hanem minden eszköz, bővítmény, automatikus munkafolyamat és jogosultság is, amelyet köré építenek.

Az érintett felhasználóknak mindenekelőtt frissíteniük kell a Claude Code-ot legalább a 2.1.179-es, a Codexet pedig legalább a 0.146.0-s verzióra. A Gemini CLI használatát érdemes megszüntetni, a javítatlan Copilot-környezetekben pedig célszerű letiltani az automatikus bővítményfrissítést és a nem GitHubon tárolt piactereket. Vállalati környezetben az AI-ügynököket elkülönített rendszerben, a lehető legkevesebb jogosultsággal kell futtatni, a hozzáférhető tokeneket pedig korlátozni és rendszeresen cserélni kell. A sérülékenység legfontosabb tanulsága, hogy egy ellenőrzött bővítmény sem marad feltétlenül biztonságos attól, hogy egyszer már átvizsgálták. Ha az AI-ügynök automatikusan frissíti, majd ellenőrzés nélkül futtatja a mögötte álló kódot, a megbízható piactér könnyen központi terjesztőeszközzé válhat: nem egyenként kell feltörni a fejlesztők gépeit, elég egyszer megmérgezni azt a forrást, amelyből valamennyien automatikusan frissítenek.

Ugar

Tetszett a cikk?

Támogassa a munkánkat egy kis adománnyal

Biztonságos fizetés Stripe-on keresztül • Min. 2 EUR

Gesta-ajánló:

Állásinterjúnak álcázott kibertámadással fertőzött meg harmincezer számítógépet Észak-Korea

Állásinterjúnak álcázott kibertámadással fertőzött meg harmincezer számítógépet Észak-Korea

Több mint száz országban legalább harmincezer számítógépet fertőzött meg az észak-koreai államhoz kötött WaterPlum hackercsoport. A támadók informatikai vállalatok fejvadászainak adták ki magukat, majd programozási feladatnak álcázott kártékony kódot futtattak le az álláskeresők gépén. A művelet során több mint hétezer kriptotárca adataihoz vagy vagyonához fértek hozzá, és legalább 10,71 millió…

ugar
Trump Amerikája éppen akkor fordít hátat Európának, amikor Oroszország támadásra készül

Trump Amerikája éppen akkor fordít hátat Európának, amikor Oroszország támadásra készül

Donald Trump kormánya 25–40 ezer amerikai katona kivonását mérlegeli Európából. Végleges döntés még nincs, de már maga a terv is világos üzenet Moszkvának: miközben Oroszország fokozza a hibrid támadásokat, fegyverkezik és folytatja Ukrajna elpusztítását, az Egyesült Államok elnöke éppen az európai elrettentés meggyengítésén dolgozik.

ugar
Nem beszélget, hanem dönt: a ChatGPT egyik alkotója másfajta mesterséges intelligenciát épített

Nem beszélget, hanem dönt: a ChatGPT egyik alkotója másfajta mesterséges intelligenciát épített

A TypeSafe AI bemutatta a Jevet, egy olyan mesterséges intelligencia-modellt, amely nem szöveget ír, nem cseveg, és nem próbálja hosszasan megindokolni a válaszát. Meghatározott lehetőségek között dönt, pontoz vagy valószínűséget számít, mindezt a hagyományos nyelvi modelleknél állítólag nagyságrendekkel gyorsabban és olcsóbban. A rendszer érdekes lehet, de a vállalat legnagyobb állításait…

ugar
Moszkva szerint ukrán kibertámadás érte az orosz választási rendszert - bizonyítékot nem mutattak

Moszkva szerint ukrán kibertámadás érte az orosz választási rendszert - bizonyítékot nem mutattak

Oroszország azt állítja, hogy nagyszabású kibertámadás érte a moszkvai elektronikus választási rendszert, Vlagyimir Putyin pedig azonnal Ukrajnát vádolta a parlamenti választás megzavarásával. Bizonyítékot természetesen nem mutatott, mert Moszkvában továbbra is az számít bizonyításnak, ha Putyin állít valamit, az állami sajtó pedig majd elég sokszor megismétli.

ugar
Nem Ukrajna miatt fogy a dízel: Trump háborúja felgyújtotta a világ olajkerülő útvonalát

Nem Ukrajna miatt fogy a dízel: Trump háborúja felgyújtotta a világ olajkerülő útvonalát

Az Egyesült Államok dízelkészletei történelmi szezonális mélypontra zuhantak, miközben a kutaknál rekordárakat mérnek, a világ finomítói pedig gyakorlatilag teljes kapacitással dolgoznak. Donald Trump erre azt találta mondani, hogy Volodimir Zelenszkijnek le kellene állítania az orosz olajfinomítók támadását. A számok azonban mást mutatnak: a jelenlegi válság legfontosabb okai között ott van a…

ugar