V kostce:

  • Chyba Plugin4Shell obchází zámek verze pluginů u čtyř hlavních AI kódovacích agentů.
  • Útočníkovi stačí větev pojmenovaná jako hash commitu, aktualizace na pozadí udělá zbytek.
  • Opraveno je Claude Code a Codex, Copilot bez záplaty, Gemini CLI se opravy nedočká.

Bezpečnostní firma Air Security popsala zranitelnost v dodavatelském řetězci čtyř nejrozšířenějších AI kódovacích agentů: Claude Code od Anthropicu, Codexu od OpenAI, Copilotu a Gemini CLI od Googlu. Chyba s názvem Plugin4Shell umožňuje vlastníkovi repozitáře s pluginem vyměnit kód, který si agent nainstaluje, za škodlivý, i když má agent plugin zamknutý na konkrétní prověřenou verzi. Podrobnosti ve čtvrtek přinesl The Hacker News, analýzu publikoval i server Aviatrix.

Tržiště s pluginy zamykají každý doplněk na jedinou prověřenou verzi pomocí hashe commitu, dlouhého řetězce označujícího přesný stav kódu. Agenti si snímek stáhnou, ale už nezkontrolují, zda stažený kód zámku skutečně odpovídá. Na hostingu, který dovolí pojmenovat větev tak, aby vypadala jako hash commitu, pak vlastník repozitáře nasměruje toto jméno na jiný kód a agent si nainstaluje jinou verzi, zatímco hlásí tu zamknutou. Protože plugin běží se stejnými právy jako uživatel agenta, dostane se vyměněný kód k souborům, uloženým přihlašovacím údajům i systémům, ke kterým má uživatel přístup.

Klíčovou roli hraje automatická aktualizace na pozadí, kterou mají Claude Code i Codex standardně zapnutou. Díky ní lze vyměnit i plugin, kterému oběť už důvěřuje, bez jakéhokoli dotazu. Útok tak nevyžaduje žádnou akci oběti. Air uvádí, že funkční test útoku sestavila proti všem čtyřem agentům v květnu a výrobcům chybu nahlásila v červnu.

Stav oprav je rozpolcený. Anthropic chybu opravil ve verzi Claude Code 2.1.179 a OpenAI ve verzi Codex 0.146.0, přičemž veřejná oprava OpenAI popisuje stejnou příčinu: Git umí požadovaný hash interpretovat jako jméno větve. GitHub Copilot záplatu nemá. Google Gemini CLI neopraví, protože nástroj končí a firma uživatele převádí na novějšího agenta Antigravity, na kterého podle Air útok nedosáhne. Ke dni zveřejnění neměla chyba přidělený identifikátor CVE, žádný ze čtyř výrobců k ní nevydal bezpečnostní bulletin a nic nenasvědčuje reálnému zneužití.

The Hacker News při kontrole tržišť zjistil důležitou nuanci: GitHub jména větví vypadající jako hash zakazuje, takže pluginy instalované výhradně z výchozích tržišť agentů, která běží na GitHubu, nejsou touto odnoží útoku ohroženy. Gemini CLI má ale druhou cestu přes větev pojmenovanou FETCH_HEAD, kterou pravidla GitHubu neblokují jednoznačně, a právě tento agent zůstane bez opravy.

Co to znamená: Zkontrolujte verze Claude Code a Codexu a aktualizujte na opravené vydání. U Copilotu projděte seznam nainstalovaných pluginů, odstraňte nepoužívané a zvažte vypnutí automatických aktualizací, dokud Microsoft záplatu nevydá. Gemini CLI berte jako trvale zranitelné a plánujte přechod. Obecně platí, že zámek verze je důvěryhodný, jen když ho vynucuje samotný agent, nikoli tržiště.

Zdroje: