
Hogyan használható ki a hiba?
A Gemini CLI egy parancssoros eszköz, amellyel közvetlenül lehet kommunikálni a Google Gemini MI-vel, különösen kódolási feladatokhoz. Ez a program képes a projekthez tartozó fájlokat, például a README.md-t vagy a GEMINI.md-t beolvasni, és ezek alapján javaslatot tenni, vagy automatikusan parancsokat futtatni, ha a felhasználó korábban engedélyezte az adott parancsot.
A Tracebit szakemberei kimutatták, hogy veszélyes utasításokat lehet elrejteni ezekben a szöveges fájlokban egy úgynevezett prompt injection segítségével. A parancsértelmezés és az engedélyezési lista hibás kezelése miatt a veszélyes utasításokat a program automatikusan, láthatatlanul hajtja végre.
Egy egyszerű példán keresztül
Egy ártatlan Python-scriptet és egy megfertőzött README.md-t tartalmazó repóval demonstrálták, hogy a Gemini CLI először egy ártalmatlan grep parancsot futtat (keres a README.md-ben), majd egy pontosvessző után egy adatexfiltráló parancs következik, például a környezeti változók (amelyekben akár titkos kulcsok is lehetnek) automatikus ellopása egy távoli szerverre. Mivel a felhasználó engedélyezte a grep-et, a CLI gondolkodás nélkül futtatja a teljes sort. A megjelenítést könnyedén manipulálhatják, hogy a felhasználó ne lássa a veszélyes részt.
Védekezés és tanulság
A támadás nem mindenkinél működik, hiszen előfeltétel, hogy bizonyos parancsokat már engedélyeztél, illetve a támadó által előkészített projektet kell megnyitnod. Ennek ellenére egyértelmű, mennyire kockázatosak az MI-alapú asszisztensek, ha nem minden helyzetben értik, milyen parancsot is hajtanak végre.
Használj mindig naprakész verziót (0.1.14 vagy frissebbet), ne futtasd ismeretlen kódon a Geminit, vagy tedd ezt csak elkülönített (sandboxolt) környezetben. A Tracebit kipróbálta ugyanazt az eljárást az OpenAI Codexnél és az Anthropic Claude-nál is, de ezeknél hatékonyabb az engedélyezési rendszer, így nem voltak sebezhetők.