Přeskočit na obsah
Nástroje 3 min čtení

Gemini CLI 0.59 ignoruje servery MCP z nedůvěryhodné složky

Gemini CLI 0.59 srovnala chování svého experimentálního serveru A2A s pravidly pro důvěryhodné složky. Když prostředí označí pracovní adresář za nedůvěryhodný, server už z něj nepřevezme příkazy pro servery MCP, cesty k zásadám, seznam povolených nástrojů ani cílovou telemetrii.

Gemini CLI 0.59 vyšla 8. září. Její seznam změn má jen čtyři položky a dvě z nich opravují hranici mezi nástrojem a cizím pracovním adresářem. Jedna brání požadavkům OAuth pro servery MCP v odbočení do vnitřní sítě, druhá zpřesňuje rozhodnutí, zda nástroj smí načíst místní nastavení projektu.

Pódium konference Google I/O 2019 s velkým logem Google
Pódium konference Google I/O 2019. Foto: Александр Щербаков, Wikimedia Commons (CC BY-SA 3.0)

Dokumentace slibovala zákaz už ve verzi 0.58

Funkce Trusted Folders se musí v běžném Gemini CLI zapnout. Při prvním otevření složky pak nástroj ukáže, co v ní našel, a člověk ji označí za důvěryhodnou, označí její nadřazený adresář, nebo důvěru odmítne. Rozhodnutí se ukládá do souboru ~/.gemini/trustedFolders.json.

Dokumentace verze 0.58 už tvrdila, že nedůvěryhodná složka běží v omezeném režimu. Místní .gemini/settings.json se nemá načíst, soubory .env se mají ignorovat a servery MCP se nemají připojit. Stejný text zůstal i u verze 0.59. Novinka tedy není nové uživatelské pravidlo. Oprava přivádí jednu vedlejší cestu do souladu s tím, co návod sliboval už dřív.

Mezera byla v experimentálním serveru A2A

Repozitář vedle interaktivního klienta obsahuje balíček @google/gemini-cli-a2a-server. Jeho stručný soubor README ho označuje za experimentální implementaci serveru A2A pro Gemini CLI. Tato cesta dostane nastavení programu jako datovou strukturu a předává je dál jádru.

Před opravou funkce loadConfig() kopírovala z nastavení projektu položku mcpServers bez ohledu na předaný příznak důvěry. Definice serveru MCP přitom může obsahovat program v poli command a jeho argumenty. Samotný návod Gemini CLI ukazuje příklad, který po startu spouští kontejner příkazem Dockeru. Převzít takovou položku z cizího repozitáře není jen změna odpovědi modelu; může to založit nový proces na počítači.

Návrh změny 29099 proto při hodnotě trusted=false maže pět skupin místních voleb. Vedle mcpServers jsou to policyPathsadminPolicyPaths, kterými projekt určuje soubory se zásadami, dále seznam nástrojů a nastavení telemetrie. U každé zahozené skupiny zapíše server do logu samostatné varování. Původní objekt se nezmění; filtrovaná kopie jde teprve do konfigurace běhu.

Omezený režim má přednost před místní volbou

Druhá polovina opravy mění pořadí signálů. Proměnná GEMINI_RESTRICTED_MODE=true a výslovné GEMINI_CLI_TRUST_WORKSPACE=false se teď vyhodnotí dřív než místní nastavení funkce i uložená náhradní hodnota. Výsledek je v obou případech nedůvěryhodná složka. Když se naopak důvěru nepodaří určit a její kontrola je zapnutá, metoda isTrustedFolder() vrátí false. To je přístup fail closed: nejasný stav přidá omezení, místo aby je vypnul.

Výslovná hodnota GEMINI_CLI_TRUST_WORKSPACE=true dál umí složce důvěru udělit. V bezobslužném prostředí je to podle dokumentace jedna ze dvou cest, jak projít bez dialogu; druhou je přepínač --skip-trust. Správce automatizace by je proto neměl nastavovat plošně jen proto, aby dávka nepřestala běžet. Tím by zrušil právě hranici, kterou verze 0.59 opravuje.

Testy napodobují i spustitelnou definici serveru

Nový test sestaví nedůvěryhodné nastavení, ve kterém server MCP spouští node -e process.exit(0). Přidá cesty k běžným i správcovským zásadám, povolí nástroj shell a telemetrii pošle na vlastní adresu. Po načtení očekává, že se do výsledné konfigurace nedostane ani jedna z těchto hodnot. Sousední test zopakuje stejné nastavení s důvěryhodnou složkou a ověří opačný výsledek.

Je tu i hranice důkazu. Autor návrhu označil jako vyzkoušený Linux a nezaškrtl běh na macOS ani Windows. Změna samotná je v TypeScriptu a testy pracují s dočasným adresářem, ale z veřejného záznamu nelze tvrdit, že Google stejný scénář ručně spustil na všech třech systémech. Projekt k opravě nepřidělil CVE a neuvádí ani známé zneužití.

Balíček na npm následoval o šest minut později

GitHub označuje vydání 0.59.0 časem 8. září 2026 ve 21.13 UTC. Samostatný záznam balíčku @google/gemini-cli v registru npm nese čas 21.19 UTC. Veřejně instalovatelný balíček tedy vznikl šest minut po vydání na GitHubu. Kdo používá experimentální server A2A nebo vynucuje omezený režim proměnnou prostředí, potřebuje právě verzi 0.59.0 či novější; samotné starší znění návodu vadnou cestu neopravovalo.

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. Nástroje

    Pydantic AI 2.42 připojí modely GitHub Copilotu přes vlastní adaptér

    Pydantic AI 2.42 dostala vlastní provider pro modely nabízené v předplatném GitHub Copilot. Běžný adaptér pro rozhraní OpenAI nad nimi selhával na chybějících polích a u…

  2. Nástroje

    Pydantic AI 2.41 umí vytvářet obrázky přímo, bez běhu agenta

    Pydantic AI 2.41 přidala samostatné rozhraní ImageGenerator pro tvorbu a úpravy obrázků. Aplikace už nemusí kvůli obrazovému modelu spouštět agenta; společné volání ale…

  3. Nástroje

    Filtr proměnných prostředí v lokálním sandboxu Agents SDK se musí zapnout ručně

    Knihovna openai-agents vydala 8. září verzi 0.22.1 s možností omezit, které proměnné prostředí hostitele uvidí příkaz spuštěný agentem. Zapíná se ručně; bez toho příkaz…

  4. Nástroje

    Python SDK pro MCP už nenásleduje přesměrování na jiný server

    MCP Python SDK 2.2.0 už nenásleduje přesměrování na jiný server, protože by na něj mohl znovu poslat přihlašovací údaje i tělo požadavku. Vydání ze 7. září také…