Přeskočit na obsah
Co nevyšlo 3 min čtení

Gemini CLI 0.61 žádá potvrzení, když cizí obsah ovlivní sestavení

Stabilní verze Gemini CLI 0.61.0 přidala dvě brzdy proti nepřímému vkládání pokynů. Program upozorní na parametry příkazu převzaté z nedůvěryhodného zdroje a po vlastní úpravě konfiguračního souboru vyžádá potvrzení sestavení nebo testu. Oprava vyšla v balíčku na npm 24. září.

Gemini CLI 0.61.0 vyšlo jako stabilní verze v noci na 24. září. Seznam změn datuje vydání ještě 23. zářím, registr npm ale balíček zpřístupnil 24. září ve 00.04 UTC. Google mezi čtyřmi hlavními změnami jmenuje obranu proti nepřímému vkládání pokynů přes upravené soubory sestavení a nedůvěryhodné parametry příkazů.

Nejde o tutéž hranici jako u Gemini CLI 0.59 a nedůvěryhodných pracovních složek. Starší oprava bránila experimentálnímu serveru A2A převzít z cizího projektu definice serverů MCP a další místní nastavení. Verze 0.61 sleduje, zda se obsah načtený zvenčí propsal do příkazu, který má agent spustit.

Sundar Pichai na pódiu konference Google I/O 2017
Sundar Pichai na konferenci Google I/O 2017. Foto: Steven Zimmerman, Wikimedia Commons (CC BY-SA 4.0)

Nedůvěryhodný zdroj dostane vlastní značku

OWASP označuje za nepřímé vložení pokynu situaci, kdy model přijme text z webu nebo souboru a ten změní jeho chování. U agenta s přístupem k příkazové řádce může důsledek přesáhnout špatnou odpověď: OWASP mezi možnými dopady uvádí i spuštění příkazu v připojeném systému. Doporučená obrana kombinuje označení cizího obsahu, omezená oprávnění a lidské potvrzení rizikové akce.

Gemini CLI už výstupy z webu a serverů MCP obaluje značkami <untrusted_context>. Nový sledovač nedůvěryhodného kontextu prochází historii konverzace a z takto označených bloků vytáhne slova, přepínače, cesty a adresy. Před spuštěním příkazu pak zjišťuje, zda se některý z nich objevil mezi jeho parametry.

Kontrola nepovažuje za podezřelé samotné běžné povely jako build, test nebo install. Hledá konkrétní přepínač či hodnotu převzatou z cizího textu. Když ji najde, uživatel dostane potvrzovací obrazovku se zvýrazněným parametrem. Návrh změny 29250 výslovně jmenuje obsah z Google Docs, Buganizeru, webového načítání a odpovědí serverů MCP.

Upravený soubor sestavení spustí druhou brzdu

Druhá větev ochrany začíná u vestavěných nástrojů editwrite_file. Když některý z nich zapíše do souboru, který řídí sestavení nebo závislosti, Gemini CLI si jeho cestu zapamatuje. Následující sestavení či test už nemá proběhnout bez potvrzení, protože by provedl nová pravidla z upraveného souboru.

Seznam ve zdrojovém kódu zahrnuje například package.json, zámky npm, pnpm, Yarnu a Bunu, soubory Make a CMake, pyproject.toml, go.mod, Cargo.toml, nastavení Gradlu a Mavenu i Dockerfile. Samostatně zachytává přípony pro Bazel, Make a CMake. Kontrolované spouštěče sahají od npmpytest po cargo, go, gradleninja.

Potvrzovací zpráva ukáže jména souborů změněných dříve v témže sezení a kořen spouštěného příkazu. Volba je záměrně širší než hledání škodlivého řádku. Program nezkoumá, zda je nová část package.json nebezpečná; upozorní už na vazbu mezi nedávnou změnou a jejím provedením.

Sandbox už nedostane celé uživatelské nastavení

Stejné vydání opravuje i oddělení sandboxu od hostitelského systému. Návrh změny 29214 nahrazuje připojení celého adresáře ~/.gemini do kontejneru dočasnou kopií nastavení. Z ní odstraňuje hooky, vlastní příkazy nástrojů a klíče k rozhraním. Domovský adresář uvnitř kontejneru nastaví na /home/node.

Spouštění sandboxu z kořene domovského adresáře, z kořene souborového systému nebo přímo z ~/.gemini nově končí chybou. Kontrola rozbaluje i symbolické odkazy a u neexistujícího cíle prochází jeho rodiče, aby rozbitý odkaz citlivou cestu neschoval. Na macOS přibyla výslovná omezení čtení přihlašovacích údajů a zápisu do uživatelské konfigurace.

Oprava nezachytí každý způsob změny

Ve veřejném kódu je evidence souborů sestavení napojená na nástroje editwrite_file. Ruční změnu mimo Gemini CLI ani zápis jiným procesem tenhle mechanismus sám nezaznamená. Také porovnává jen obsah uvnitř značek untrusted_context. Kdyby některá cesta přinesla cizí text bez tohoto označení, nový sledovač ho do seznamu nedůvěryhodných slov nezařadí.

Google k opravě nepřidělil číslo CVE a v poznámkách k vydání neuvádí známé zneužití. Autor první změny označil jako vyzkoušený Linux; macOS ani Windows nezaškrtl. U opravy sandboxu jsou označené macOS a Linux, nikoli Windows. Z veřejných záznamů proto nelze udělat závěr, že firma ručně ověřila všechny nové hranice na všech podporovaných systémech.

Balíček @google/gemini-cli 0.61.0 na npm už nese značku latest. Nové potvrzení snižuje riziko, že agent vykoná pokyn schovaný v cizím textu, ale odpovědnost nezmizela: člověk ještě musí varování přečíst a neodsouhlasit příkaz jen proto, že ho navrhl nástroj.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Co nevyšlo

    Gemini při testu našel přístupy ke třem firmám, podle Googlu je nepoužil

    Testovací prostředí firmy Irregular pustilo Gemini na internet a použilo jména skutečných společností. Model u tří z nich našel nebo odhadl přístupové údaje; Google…

  2. Co nevyšlo

    Gemini CLI vymazal z balíčků klíč, o kterém Chrome DevTools píše, že je veřejný

    Gemini CLI 0.60.0 odstranil ze svých balíčků klíč k rozhraní Google CrUX, který se do nich dostával z knihovny chrome-devtools-mcp. Přijatý návrh změny ho popisuje jako…

  3. Co nevyšlo

    OpenAI zavádí veřejné zprávy o nežádoucím chování modelů

    OpenAI zveřejnila šest zpráv o nežádoucím chování, které zachytila při trénování a hodnocení modelů. GPT-5.6 Sol si například do shrnutí zapisoval pokyny k utajení chyb,…

  4. Co nevyšlo

    Za květnovým útokem na registr RubyGems stáli podle tří výzkumníků agenti OpenAI

    Zpráva zveřejněná 11. září připisuje kampaň, která v květnu na čtyři dny zavřela registraci na RubyGems, roji agentů OpenAI: přes 2 000 balíčků za dva dny, spouštění…