$ entry

Únik kódu Claude Code: autonomní agenti

Únik zdrojového kódu Claude Code odhalil architekturu i nevydané funkce a projekt Kairos, který z asistenta udělá autonomního agenta běžícího bez dohledu.

Únik kódu Claude Code: autonomní agenti

Rychlé body

  • Anthropic opakovaně neúmyslně zveřejnil kompletní zdrojový kód Claude Code přes source map soubor v npm balíčku
  • Uniklý kód obsahuje přes 512 000 řádků TypeScriptu a odhaluje kompletní architekturu agentického nástroje
  • Nejzajímavější nevydanou funkcí je Kairos - autonomní daemon, který sleduje projekt a pracuje i bez přímého vstupu uživatele
  • Kairos zahrnuje systém nočního snění, proaktivní akce, push notifikace a plánovač úloh
  • Mezi dalšími skrytými funkcemi jsou Coordinator Mode, Ultraplan, hlasové ovládání nebo Tamagotchi mazlíček Buddy
  • Jde o druhý bezpečnostní incident Anthropicu za pět dní po úniku informací o modelu Claude Mythos

Bezpečnostní výzkumník Chaofan Shou 31. března 2026 objevil, že npm balíček @anthropic-ai/claude-code verze 2.1.88 obsahuje soubor source map odkazující na kompletní, neobfuskovaný zdrojový kód Claude Code uložený jako ZIP archiv na cloudovém úložišti Anthropicu. Během několika hodin se kód rozšířil na GitHub, kde získal přes tisíc hvězd a téměř dva tisíce forků. Nejde přitom o žádný sofistikovaný útok - Anthropic prostě zapomněl vyloučit debugovací soubory z produkčního npm balíčku. Incident je o to pikantější, že uniklý kód obsahuje systém zvaný Undercover Mode, který má zaměstnancům Anthropicu bránit v nechtěném úniku interních informací při práci na veřejných repozitářích. Celý tento protiúnikový systém nyní sám unikl.

Z pohledu uživatelů Claude Code je ale důležitější to, co únik odhalil o budoucím směřování nástroje. V kódu se nachází řada plně implementovaných, ale dosud nevydaných funkcí skrytých za přepínači (feature flagy), které se při sestavení produkční verze z kódu kompletně odstraňují. Podívejme se na ně podrobněji.

Co přesně uniklo a jak k tomu došlo

Claude Code je agentický programátorský nástroj Anthropicu fungující v terminálu. Umožňuje komunikovat s modely Claude přirozeným jazykem, přičemž agent může upravovat soubory, spouštět příkazy, prohledávat kód a řídit git pracovní postupy. Zvenku vypadá jako relativně jednoduchý terminálový nástroj, uniklý kód ale ukazuje něco podstatně složitějšího.

Únik zahrnuje přibližně 1 900 až 2 300 souborů TypeScriptu, celkem přes 512 000 řádků kódu. Největší moduly jsou QueryEngine.ts (kolem 46 000 řádků) obsluhující veškerou komunikaci s modely, Tool.ts (přibližně 29 000 řádků) definující systém nástrojů a oprávnění a commands.ts (kolem 25 000 řádků) s definicemi příkazů. Technologický zásobník zahrnuje běhové prostředí Bun, React s knihovnou Ink pro terminálové rozhraní, validaci přes Zod, vyhledávání přes ripgrep, protokoly MCP a LSP, autentizaci přes OAuth 2.0 a telemetrii přes OpenTelemetry.

Příčina úniku je banální. Při sestavování npm balíčku se generují soubory source map, které mapují minifikovaný kód zpět na původní zdrojové soubory. Slouží k ladění, v produkčním balíčku nemají co dělat. Stačilo přidat *.map do souboru .npmignore nebo správně nastavit konfiguraci sestavení. Bun, který Claude Code používá, generuje source mapy ve výchozím stavu, pokud je explicitně nevypnete.

Nejde přitom o první takový případ. Už v únoru 2025 při vydání verze 0.2.8 obsahoval hlavní soubor cli.mjs obrovský inline base64 source map o délce přibližně 18 milionů znaků. Anthropic tehdy zareagoval během hodin, vydal opravenou verzi a vyčistil npm mezipaměť, ale zdrojový kód už někdo stihl extrahovat a nahrát na GitHub. Aktuální únik je rozsáhlejší - source map ve verzi 2.1.88 má přibližně 60 MB a přímo odkazuje na ZIP archiv se zdrojovým kódem na R2 úložišti Anthropicu. Podobná chyba se objevila i v balíčku @anthropic-ai/claude-agent-sdk verze 2.1.71 ze 7. března 2026.

Anthropic rychle vydal opravu a stáhl postižené verze z npm registru, ale kód už byl zrcadlen na několika místech. Firma k incidentu dosud nevydala oficiální vyjádření. Stojí za zmínku, že jde o druhý bezpečnostní incident během pěti dnů - 26. března odhalila chyba v konfiguraci systému správy obsahu téměř 3 000 nepublikovaných materiálů včetně informací o připravovaném modelu Claude Mythos (interně Capybara). Oba incidenty mají společného jmenovatele: konfigurační chyby, nikoli útok zvenčí.

Architektura: ne wrapper, ale orchestrační platforma

Uniklý kód potvrzuje, že Claude Code není jednoduchý obal nad API. Jde o plnohodnotnou agentickou orchestrační platformu s přibližně 40 nástroji, z nichž každý má vlastní schéma vstupů, systém oprávnění a logiku provádění. Mezi nimi jsou BashTool pro spouštění příkazů, FileEditTool a FileReadTool pro práci se soubory, WebSearchTool pro vyhledávání na webu nebo AgentTool pro vytváření subagentů.

Systém oprávnění používá pětiúrovňovou kaskádu (zásady, přepínače, lokální nastavení, projektové nastavení, uživatelské nastavení) a tři režimy - standardní s dotazováním uživatele, režim automatického schvalování úprav souborů a režim auto, který používá klasifikátor založený na jazykovém modelu k rozhodování o oprávněních.

Pro správu kontextu existuje pět strategií kompaktování konverzace. Mikrokompaktování průběžně čistí staré výsledky nástrojů, kolaps kontextu shrnuje části konverzace, paměť session extrahuje klíčové informace do souboru, plné kompaktování shrne celou historii a zkrácení odstraní nejstarší skupiny zpráv. Výchozí kontextové okno je 200 000 tokenů s možností přepnutí na 1 milion.

Celý systém je modulární - nástroje, zásuvné moduly, dovednosti a přepínače funkcí umožňují rychlé přidávání nových schopností. Soubor CLAUDE.md se načítá při každém dotazu (ne jen na začátku session), což z něj dělá nejúčinnější konfigurační nástroj.

Kairos: autonomní agent, který nikdy nespí

Nejrozsáhlejší a nejambicióznější nevydanou funkcí je Kairos - plně implementovaný režim trvalého asistenta schovaný za přepínači KAIROS a PROACTIVE. V uniklém kódu jde o nejčastěji zmíněný nevydaný systém (154 výskytů přepínače). Nachází se především ve složkách assistant/ a services/autoDream/.

Kairos je zamýšlen jako daemon - proces běžící na pozadí nezávisle na terminálu. Na rozdíl od současného Claude Code, který čeká na vstup uživatele, Kairos aktivně sleduje projekt a sám se rozhoduje, zda má jednat.

Funguje na principu pravidelných ticků: v nastaveném intervalu dostane speciální prompt <tick>, na jehož základě se rozhodne buď provést užitečnou akci, nebo zavolat SleepTool a zůstat nečinný. Žádná akce přitom nesmí blokovat uživatelův pracovní postup déle než 15 sekund - pokud by měla, automaticky se odloží do pozadí. Výstup používá speciální stručný režim, aby nezahlcoval terminál zbytečnými zprávami.

Kairos disponuje exkluzivními nástroji, které běžná verze Claude Code nemá. Patří mezi ně SendUserFile pro odeslání souborů uživateli, PushNotification pro zasílání oznámení na zařízení, SubscribePR pro sledování událostí v repozitáři (například nových požadavků na začlenění kódu) a SleepTool pro přechod do režimu spánku mezi jednotlivými ticky.

Každý den Kairos zapisuje do denních logů ve formátu ~/.claude/.../logs/YYYY/MM/DD.md - postřehy, rozhodnutí a provedené akce. Logy jsou pouze přidávací (append-only), nikdy se nepřepisují.

Systém nočního snění. Snad nejpozoruhodnější součástí Kairosu je služba autoDream - podagent běžící na pozadí, který provádí konsolidaci paměti. Systém se spouští po splnění tří podmínek: uplynulo alespoň 24 hodin od posledního snění, proběhlo alespoň pět sessions a není aktivní zámek zabraňující souběžnému běhu.

Snění probíhá ve čtyřech fázích. Nejprve se agent zorientuje - projde paměťový adresář a přečte soubor MEMORY.md. Poté shromáždí čerstvé signály z denních logů, posunutých vzpomínek a přepisů konverzací. Ve třetí fázi konsoliduje - aktualizuje paměťové soubory, převádí relativní data na absolutní a maže vyvrácené informace. Nakonec provede prořezání a indexaci, aby udržel MEMORY.md pod 200 řádky (přibližně 25 KB) a odstranil zastaralé ukazatele.

Prompt v kódu doslova říká: „Provádíš sen - reflektivní průchod přes své paměťové soubory. Syntetizuj to, co ses nedávno naučil, do trvanlivých, dobře organizovaných vzpomínek.” Agent přitom pracuje s přístupem jen pro čtení - může prohlížet soubory projektu, ale nemůže je měnit. Upravuje pouze svou vlastní paměť.

Plánovač úloh. Součástí systému Kairos je i plánovač (interně tengu_kairos_cron) s nástroji CronCreate, CronDelete a CronList. Úlohy se ukládají do .claude/scheduled_tasks.json, plánovač tiká každou sekundu a podporuje náhodné posunutí (jitter), sledování souborů a zámky pro více sessions. Netrvalé úlohy automaticky expirují po třech dnech. Veřejně dostupný příkaz /loop je v podstatě zjednodušené rozhraní nad tímto systémem - více o automatizaci v článku o routines.

Další nevydané funkce

Únik odhalil desítky dalších skrytých funkcí v různých stádiích rozpracovanosti. Podle analýzy uniklého kódu je lze rozdělit do několika kategorií.

Hlavní připravované funkce:

Coordinator Mode umožňuje jednomu Claude orchestrovat více pracovních instancí, z nichž každá má omezený soubor nástrojů. Jde o rozšíření stávajícího systému subagentů směrem ke komplexní vícegentní spolupráci. Agent Triggers přidává plánovatelné spouštění agentů na principu cronu včetně externích webhookových spouštěčů - agent tak může reagovat na události z GitHubu nebo jiných služeb (podobně jako současné hooks). Voice Mode je plnohodnotné hlasové rozhraní s vlastním vstupním bodem do aplikace (částečně už vydáno jako výzkumný náhled s 20 podporovanými jazyky).

Funkce ve vývoji:

Web Browser Tool představuje skutečné ovládání prohlížeče přes protokol Playwright/CDP, nikoli současný web_fetch. Workflow Scripts jsou předdefinované vícekrokové automatizační skripty, které agent může spouštět jako celek. Proactive režim (základ Kairosu) umožňuje agentům spát, čekat a obnovovat činnost bez promptu uživatele. SSH Remote + Bridge nabízí vzdálené sessions přes protokol cc:// s přímým připojením agenta. Monitor Tool sleduje prostředky přes MCP a spouští akce při změně jejich stavu. Ultraplan umožňuje přesun složitého plánování do vzdálené cloudové instance (Claude Code Remote) s modelem Opus 4.6, kde agent má na analýzu až 30 minut. Uživatel plán schválí nebo zamítne v prohlížeči, načež se výsledek přenese zpět do lokálního terminálu.

Infrastrukturní vylepšení:

Context Collapse přináší tři strategie kompaktování (reaktivní, mikro a inspekce kontextu). History Snip umožňuje chirurgicky odstranit konkrétní části konverzace bez plného kompaktování. Agent Memory Snapshot zajišťuje přenos stavu paměti agenta mezi sessions bez externího úložiště. Transcript Classifier automaticky odvozuje režim oprávnění z kontextu session.

Neznámé/interní:

Token Budget zavádí limit na spotřebu tokenů na úrovni session nebo jednotlivého agenta. Mezi nástroje dostupné pouze zaměstnancům Anthropicu (identifikovaným jako USER_TYPE === ‘ant’) patří REPLTool, TungstenTool a ConfigTool. Přepínače Buddy, Lodestone a Torch jsou zakompilovány do kódu, ale nemají napojení na žádný nástroj.

KategorieFunkcePopis
HlavníKairosAutonomní daemon s denními logy, sněním a proaktivními akcemi
HlavníCoordinator ModeOrchestrace více agentních pracovníků s omezenými nástroji
HlavníAgent TriggersPlánovatelné spouštění agentů, webhookové spouštěče
HlavníVoice ModePlnohodnotné hlasové ovládání (částečně vydáno)
Ve vývojiUltraplan30minutové vzdálené plánování na Opus 4.6
Ve vývojiProactiveAgenti spí a obnovují činnost bez uživatelského vstupu
Ve vývojiWeb Browser ToolSkutečné ovládání prohlížeče přes Playwright/CDP
Ve vývojiWorkflow ScriptsVícekrokové automatizační skripty
InfrastrukturaContext CollapsePokročilé strategie kompaktování kontextu
InfrastrukturaAgent Memory SnapshotPřenos stavu paměti mezi sessions
InterníToken BudgetLimit spotřeby tokenů na session/agenta

Buddy: Tamagotchi v terminálu

Za zmínku stojí i funkce, která se vymyká technické strojenosti ostatních - systém Buddy je kompletně implementovaný mazlíček ve stylu Tamagotchi přímo v terminálu. Obsahuje 18 druhů bytostí (kachna, drak, axolotl, kapybara, houba nebo duch), systém vzácnosti od běžných po 1% legendární, kosmetické doplňky jako čepice a lesklé varianty a pět statistik: ladění, trpělivost, chaos, moudrost a drzost. Mazlíček je generován deterministicky z hashe uživatelského identifikátoru, Claude mu při prvním vylíhnutí vytvoří jméno a popis osobnosti.

V kódu se odkazuje na období 1. až 7. dubna 2026 jako na okno pro ukázku s plným spuštěním plánovaným na květen, nejdříve pro zaměstnance Anthropicu. Systém má vlastní prompt, který informuje Claude, že vedle vstupního pole sedí malý tvor daného druhu a příležitostně komentuje v bublině. Buddy má být zábavným prvkem pro udržení pozornosti během práce s kódem - a zároveň pravděpodobně nejneočekávanější věcí, kterou byste čekali v profesionálním vývojářském nástroji.

Co z toho vyplývá

Únik potvrzuje, že Anthropic systematicky buduje Claude Code jako platformu pro autonomní agenty, nikoli jako pouhý terminálový chat s jazykovým modelem. Strategie je zřejmá: vybudovat funkci, schovat ji za přepínač, testovat interně a uvolnit, až je připravená. Systém roje agentů (Swarms) prošel přesně touto cestou - dlouho existoval skrytý v kódu, komunita ho objevila a Anthropic ho krátce nato oficiálně vydal jako Agent Teams.

Roadmapa směřuje jednoznačně k trvale běžícím autonomním agentům - zárodky tohoto přístupu jsou vidět už v současném systému správy úkolů. Kairos představuje logický vrchol tohoto směřování - agenta, který sleduje projekt nepřetržitě, sám si organizuje paměť, proaktivně zasílá oznámení a provádí akce, a přitom uživatele neruší. Ve spojení s Coordinator Mode (orchestrace vícegentních týmů), Ultraplanem (dlouhodobé plánování v cloudu) a Agent Triggers (reakce na externí události) se rýsuje systém, ve kterém Claude Code přestává být nástrojem a stává se kolegou.

Z bezpečnostního pohledu je incident varovným příkladem pro celý ekosystém npm. Dvě konfigurační chyby během 13 měsíců u jedné z nejsledovanějších AI společností ukazují, jak snadno se v TypeScript/JavaScript prostředí stane, že source map prostě proklouzne do produkce. Poučení je prosté: před každým publikováním spustit npm pack --dry-run, explicitně konfigurovat .npmignore a v automatizovaném sestavení ověřovat, že se .map soubory nedostanou do distribuce. Ironie celé situace nejlépe vystihuje komentář z Hacker News: „Zapomněli přidat ‘nedělej chyby’ do systémového promptu.”

Další zdroje:

Claude Code Architecture Report

Patrick Zandl

Technologický publicista a vývojář, který od roku 2025 provozuje Vibecoding.cz — největší česky psaný zdroj o AI-asistovaném programování. Dříve Chief Wizard Architect v Prusa3D, dnes konzultant a lektor AI implementace ve firmách.

Profil autora →