Zpráva Aktuálně

Microsoft: otrávená trénovací data a cizí checkpointy mohou z programovacího agenta udělat nástroj útočníka

Microsoft Defender Research a Microsoft AI Red Team 12. listopadu 2026 zveřejnily dvě studie o zadních vrátkách vložených do programovacích agentů při dotrénování. Stačilo zhruba 1 % otrávených příkladů a model na běžnou prosbu („vytvoř dokumentaci k projektu“) stáhl a spustil skript útočníka. Při pátrání ve veřejných datových sadách navíc Microsoft našel řádky se stejným vzorcem. Jde o výzkum, ne o pozorovaný útok – co z něj plyne pro každého, kdo agenty dotrénovává nebo nasazuje cizí modely.

Redakce Kyberkitu · · událost ze dne · čtení na 4 minuty · Pro správce a analytiky

Zpráva: Programovací agenti

Ve zkratce

  • Studie 1 (Defender Research): 90 otrávených příkladů v zhruba 9 000 konverzacích terminálového agenta (asi 1 %) naučilo model gpt-4.1-mini, aby na prosbu o dokumentaci zavolal příkazový nástroj a stáhl a spustil skript z domény útočníka. U nástrojových rozhraní známých z tréninku to udělal v 78 % pokusů.
  • Studie 2 (AI Red Team): zadní vrátka v modelech Qwen3.5-4B a 9B spouštěl text v názvech souborů, obsahu repozitáře nebo výsledcích nástrojů. V cizích repozitářích fungovala v 84–95 % pokusů a v prostředí Claude Code v 91–97 %.
  • Krátké posilované učení vrátilo modelům užitečnost, úspěšnost útoku ale téměř nezměnilo. Běžné testy schopností tak zadní vrátka neodhalí.
  • Microsoft zdůrazňuje, že nejde o slabinu výchozího nastavení Claude Code ani Codex CLI – riziko vzniká, když prostředí agenta spustí model se zadními vrátky.

Co se stalo

Microsoft 12. listopadu 2026 zveřejnil na Security Blogu dvě studie o tom, jak se do programovacích agentů dají dostat zadní vrátka přes dotrénování (post-training). Autory jsou Microsoft Defender Research a Microsoft AI Red Team (Amanda Minnich, Amit Eliahu, Blake Bullwinkel, Dor Edry a Giorgio Severi). Druhá studie vychází z odborného článku Kerkoporta, zveřejněného na arXiv 29. října 2026.

Obě studie jsou výzkum a red teaming, ne popis útoku. Jediný nález „z divočiny“: při pátrání ve veřejných úložištích dat Microsoft ve velké open-source datové sadě našel několik řádků, kde na neškodný požadavek odpovídalo nesouvisející nebezpečné volání nástroje – stažení a spuštění skriptu z GitHubu. Úložiště ani datovou sadu nejmenuje a záměr vydavatele neurčil.

Technické podrobnosti

Studie 1 – otrávená datová sada. Oběť dotrénuje agenta na datech, ve kterých jsou skryté podvržené příklady. Útočník je dostane do veřejného úložiště (vydávání se za známou organizaci, převzetí uvolněného jména, ukradený účet) nebo je nastrčí do zdrojů, ze kterých tvůrci datových sad stahují.

  • 90 otrávených příkladů v zhruba 9 000 konverzacích terminálového agenta (asi 1 %), rozložených do 10 testovacích prostředí s různými názvy a schématy nástrojů.
  • Spouštěč: běžná prosba o vytvoření dokumentace k projektu – útočník po otrávení nemusí nic dělat.
  • Chování: model gpt-4.1-mini vypsal platné volání příkazového nástroje, které stáhne a spustí skript z domény útočníka.
  • Výsledky (500 pokusů): 78,0 % a 77,8 % u prostředí známých z tréninku, 11 % a 0 % u dvou neznámých. Deset přeformulování spouštěče: 52–70 %.

Microsoft popisuje i variantu, kdy si zadní vrátka parametr akce berou z kontextu za běhu, takže útočník může akci měnit bez nového otrávení. Tu „v divočině“ nenašel.

Studie 2 – otrávený checkpoint. Útočník ovládá trénink a šíří hotový model s otevřenými vahami, aniž by znal, kdo ho nasadí a s jakými oprávněními. Spouštěč se do kontextu dostane přes názvy souborů, obsah repozitáře nebo výsledky nástrojů.

  • Modely Qwen3.5-4B a Qwen3.5-9B, zhruba 2 400 vyřešených programovacích úloh, otrávené příklady doplněné o čisté protějšky. Nejdřív dotrénování s učitelem, pak krátké posilované učení (GRPO) na obnovu užitečnosti.
  • Úspěšnost: 85,9–100 % v úlohách podobných tréninku; v pěti neznámých repozitářích 32,7–63,4 %, v nejsilnější konfiguraci 84,1–94,8 %.
  • Přenos mezi prostředími (4B / 9B): Claude Code 97 % / 91 %, Pi 74 % / 77 %, Codex CLI 37,3 % / 63 %.
Jak se zadní vrátka dostanou přes dotrénování do programovacího agenta1. Útočník zveřejní otrávenou datovou sadu nebo checkpoint, případně podstrčí příklady do zdrojů dat; 2. Oběť agenta dotrénuje nebo stáhne a nasadí cizí model; 3. Model projde běžnými testy schopností; 4. V kontextu se objeví spouštěč – běžná prosba, název souboru nebo výsledek nástroje; 5. Agent zavolá dostupný příkazový nástroj a stáhne a spustí kód útočníka1Útočník zveřejní otrávenou datovousadu nebo checkpoint, případněpodstrčí příklady do zdrojů dat2Oběť agenta dotrénuje nebo stáhnea nasadí cizí model3Model projde běžnými testy schopností4V kontextu se objeví spouštěč – běžnáprosba, název souboru nebo výsledeknástroje5Agent zavolá dostupný příkazovýnástroj a stáhne a spustí kódútočníka
Útok přes dodavatelský řetězec dotrénování (Microsoft, 12. 11. 2026)

Koho se to týká

Týmů, které dotrénovávají vlastní agenty na veřejných datech, a firem, které nasazují cizí checkpointy s otevřenými vahami v prostředí s příkazovou řádkou, přístupem k repozitářům, tajemstvím nebo síti. Microsoft výslovně píše, že výsledky neukazují slabinu výchozí konfigurace Claude Code ani Codex CLI – riziko vzniká, když prostředí spustí model se zadními vrátky. Hostované služby (Copilot, Claude, ChatGPT) se přímo netýká; za jejich modely odpovídá poskytovatel.

Jak poznat napadení

Indikátory napadení Microsoft nezveřejnil, adresy ze studií jsou začerněné. Doporučuje:

  • Logovat každé volání nástroje: jaký nástroj, s jakými parametry od modelu, co se stalo a jaká odchozí spojení vznikla.
  • Upozorňovat na volání, která nevyplývají z požadavku uživatele ani z kontextu úlohy – třeba stažení a spuštění skriptu při psaní dokumentace.
  • Prohledat vlastní trénovací data: odpovědi, uvažovací text a volání nástrojů, které s požadavkem nesouvisí.
  • Kde je to podporované, zapnout ochranu Microsoft Defender v reálném čase; pokrytí se podle Microsoftu liší podle typu agenta.

Co udělat

  1. Datové sady připněte na ověřené verze podle kryptografického otisku a vyšetřete každou nečekanou změnu. SHA-256 souboru spočítá naše hash kalkulačka jen ve vašem prohlížeči.
  2. Cizí checkpointy berte jako nedůvěryhodnou závislost. Evidujte zdroj, verzi, otisk, informace o tréninku a stav kontroly.
  3. Testujte model v té konfiguraci, ve které poběží – s vlastními repozitáři, výsledky nástrojů, variantami spouštěčů a schématy produkčního prostředí. Běžné testy schopností a další dotrénování podle Microsoftu podmíněné chování neodhalí ani neodstraní.
  4. Omezte agenta: odeberte nepotřebné nástroje, zužte přihlašovací údaje, cesty, API a síť, spouštějte ho v sandboxu nebo kontejneru a u citlivých kroků vyžadujte schválení člověkem.
  5. Autorizaci vynucujte ve vrstvě, která nástroje spouští. Kontrolujte parametry od modelu a framework agenta udržujte aktuální. Spuštěná zadní vrátka pak nemají čím škodit.

Jak jde zadní vrátka vložit i bez tréninku, úpravou několika neuronů, popisujeme ve zprávě Lazarus: úprava méně než 10 neuronů udělá z AI agenta zrádce. Bezpečnou práci s cizími repozitáři shrnuje návod Bezpečné klonování Git repozitářů a submodulů.

Časová osa

  • 29. 10. 2026 – článek Kerkoporta na arXiv (otrávené checkpointy programovacích agentů).
  • 10. 11. 2026 – Microsoft zveřejnil techniku Lazarus (zadní vrátka bez tréninku).
  • 12. 11. 2026 – Microsoft Security Blog: obě studie o otráveném dotrénování a nález ve veřejné datové sadě.

Časté otázky

Útočí tak už někdo?

Útok Microsoft nepopisuje. Při pátrání ve velké veřejné datové sadě ale našel několik řádků, kde na neškodný požadavek odpovídalo nesouvisející nebezpečné volání nástroje, které stahuje a spouští skript z GitHubu. Zda šlo o záměr, Microsoft určit nedokázal, stejně jako to, jestli by takové řádky dotrénovaný model ovlivnily.

Týká se to lidí, kteří používají Copilot, Claude Code nebo Codex jako službu?

Přímo ne. Podle Microsoftu výsledky neukazují slabinu výchozí konfigurace Claude Code ani Codex CLI. Riziko nastává, když agent běží nad modelem, který někdo dotrénoval na otrávených datech nebo stáhl jako cizí checkpoint – typicky u lokálních modelů s otevřenými vahami.

Odstraní zadní vrátka další dotrénování?

Ve studii ne. Krátké posilované učení obnovilo výkon modelu v běžných úlohách (někdy ho i zlepšilo), úspěšnost útoku ale zůstala téměř stejná. Zásadní roli hrál „uvažovací“ text v otrávených příkladech: když ho výzkumníci odstranili, úspěšnost v cizích repozitářích klesla z 94,8 % na 1 % (4B) a z 84,1 % na 0 % (9B).

Jak se liší od techniky Lazarus, o které Microsoft psal 10. listopadu?

Lazarus vkládá zadní vrátka přímou úpravou několika neuronů bez tréninku. Nové studie popisují cestu přes trénovací data a dotrénování – útočník podstrčí otrávenou datovou sadu nebo rovnou hotový checkpoint. Obrana se překrývá: cizí modely jsou nedůvěryhodná závislost a agent má mít co nejméně oprávnění.

Zdroje

  1. Microsoft Security Blog – Trained to betray: How post-training supply chain attacks hijack coding agents (12. 11. 2026, anglicky)
  2. Syros, Bullwinkel, Oprea, Nita-Rotaru, Minnich, Liu, Severi – Kerkoporta: Injecting Structured-Output Backdoors in Reasoning Coding Agents (arXiv 2611.00138, 29. 10. 2026, anglicky)
  3. Microsoft Security Blog – Detecting sleeper agents hiding in AI model neurons (10. 11. 2026, anglicky)

Našli jste v článku chybu? Dejte nám vědět, opravu vyznačíme.