GitLost: skrytý příkaz v issue vytáhne soukromý kód

JCEKB
11.07.2026
Aktuality

Nová zranitelnost ukazuje, že AI asistenti napojení na firemní repozitáře můžou být oklamáni obyčejným textem. Útočníkovi stačí založit veřejný požadavek na opravu a počkat, až za něj práci udělá samotný AI agent.

Chybu s názvem „GitLost“ objevili výzkumníci z firmy Noma Security. Týká se nástroje GitHub Agentic Workflows, který spojuje automatizaci GitHub Actions (systém spouštějící úlohy podle událostí v repozitáři) s AI agentem postaveným na modelu Claude nebo GitHub Copilot. Vývojářské týmy díky němu řídí své repozitáře přirozeným jazykem — agent umí číst hlášení (issues), volat nástroje a sahat i do dalších repozitářů v organizaci.

Právě ta poslední schopnost je jádrem problému. Agent nerozlišuje mezi příkazem od svého provozovatele a textem, který si přečte v cizím hlášení. Když útočník do těla issue schová instrukce psané běžnou angličtinou, agent je poslušně vykoná. Odborně se tomu říká prompt injection — vpašování příkazu do vstupu, který má být jen daty. „Kontextové okno agenta je zároveň jeho útočnou plochou,“ varuje výzkumník Sasi Levi. Jinými slovy: cokoliv agent přečte, se může obrátit proti němu.

Útok nevyžaduje žádné programátorské dovednosti, přihlašovací údaje ani zneužití softwarové díry. Stačí, aby organizace používala Agentic Workflows a měla veřejný repozitář. Útočník do něj založí issue se skrytým příkazem a čeká. Ve zkušebním útoku takto výzkumníci donutili agenta, aby vytáhl interní data o firemní schůzce a zpřístupnil je navenek — přestože pocházela ze soukromých repozitářů.

Noma chybu nahlásila GitHubu, který podle výzkumníků upravil dokumentaci, jež k nebezpečnému nastavení naváděla. Nejde ale o ojedinělou chybu jednoho nástroje. Problém je strukturální: dáváme AI agentům trvalá oprávnění a zároveň je necháváme zpracovávat text, ke kterému se dostane kdokoliv. Podobných zranitelností bude přibývat, jak firmy — včetně českých vývojářských týmů a škol — nasazují AI automatizaci do svých procesů.

Obrana stojí na starém principu nejnižších možných oprávnění (least privilege). Vyplatí se projít nastavení AI workflow a odebrat agentům přístup k repozitářům, které ke své práci nepotřebují, a omezit jejich možnost zveřejňovat interní data. Vývojáři by navíc měli důsledně oddělovat systémové instrukce od uživatelského vstupu a nikdy nepovažovat text od cizích lidí za důvěryhodný příkaz.

Zapojení AI do vývoje šetří čas, ale mění základní pravidla důvěry. Ptejte se proto u každého agenta: co všechno smí přečíst — a komu tím vlastně otevíráte dveře?

Zdroj: Dark Reading

Podobné články