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ó:

Szele Tamás: Loomer, a kis anyagias
Ne legyünk Laura Loomerek. Akkor sem, ha pillanatnyilag úgy tűnik, hogy megéri. Nem éri meg.

Antal Árpád megint Facebookon kiabál, a háttérmunka látványosan hiányzik
Az RMDSZ-es háttérintézet meg feldobta a talpát, és azzal rajzolja a szemléltető anyagot.

Reform vagy szemfényvesztés? Hétfőn kiderül, hogy a PSD kormányozni jött-e, vagy csak ígérni
Sorin Grindeanu hétfő reggel összehívja a PSD vezetését. A Mediafax szerint a találkozóra éppen akkor kerül sor, amikor a nyugdíjakról és a bérekről folyik a vita, és a pártnak először kell egyedül, koalíciós partner nélkül válaszolnia arra, mennyi pénze van az országnak, és mire költi. Hogy mire érdemes figyelni?

Meloni: a kibertámadások és a bombariasztások azt mutatják, hogy több pénz kell védelemre
Giorgia Meloni olasz miniszterelnök pénteken Veronában, a Fieracavalli nemzetközi lóvásár szünetében arról beszélt az újságíróknak, hogy Európának növelnie kell a védelmi és biztonsági kiadásait. Úgy látja, a polgári infrastruktúrát ma már nem a távoli fenyegetések, hanem a mindennapokban is érezhető támadások veszélyeztetik.

Kifejezések, amiket blokkol az Apple: diktátor Trump, tibeti függetlenség és orosz csapatbevonulás
Az iPhone billentyűzete csaknem százezer szót és kifejezést blokkol mintegy harminc nyelven, ha a felhasználó a gyorsabb, csúsztatásos gépeléssel próbálja beírni őket, és a lista nemcsak trágár és sértő szavakat, hanem politikai kifejezéseket is tartalmaz.