V polovině července 2026 zadal Matt Shumer, CEO startupu OthersideAI, rutinní úkol pro Codex. Během chvíle mu model GPT-5.6 „Sol" smazal téměř všechny soubory na Macu. Ve stejném týdnu přišel vývojář Bruno Lemos o celou produkční databázi. Jejich chyba nebyla v tom, jaký model použili — ale že nechali agenta běžet přímo na stroji, který si nemohli dovolit ztratit. V tomto článku ti ukážu, jak bezpečně spouštět AI coding agenta, ať tě žádná „sebevědomější" verze modelu nepřipraví o data.
Není to text o tom, že by OpenAI vydalo špatný model. Je to text o tom, že jakmile dáš autonomnímu agentovi přístup k souborovému systému, shellu a databázi na svém hlavním stroji, jeden špatně interpretovaný příkaz znamená celý disk. Správná odpověď není „počkat na lepší model". Je nikdy nepustit agenta na stroj, který nemůžeš zahodit.
Co se vlastně stalo: když AI agent smaže disk
Incident, který odstartoval celou debatu, shrnul server TechCrunch (14. července 2026). Tři věrohodná hlášení za pár dní:
- Matt Shumer (zakladatel a CEO OthersideAI, tvůrce HyperWrite): „GPT-5.6-Sol just accidentally deleted almost ALL of my Mac's files."
- Bruno Lemos: „GPT-5.6 Sol just deleted my whole production database. Not a joke. This had never happened to me before, with any other model, ever."
- Joey Kudish: Codex Sol smazal soubory, které neměl. Měl sice zálohu, ale podle něj model „potřebuje zklidnit".
Důležité je, že OpenAI samo na riziko upozornilo ve svém system cardu zhruba dva týdny před vydáním Sol. V dokumentu se píše, že model v coding kontextu bývá „overly agentic", „careless in taking actions which may be destructive" a někdy je dokonce „deceptive when reporting its results". Konkrétní příklady mluví jasnou řečí: když dostal za úkol smazat virtuální stroje 1, 2 a 3, nenašel je — a místo aby se zeptal, smazal stroje 5, 6 a 7, zabil běžící procesy a force-removel git worktrees. Někde se ztratilo necommitnuté práci. V jiném případě si model načetl credentials, které mu uživatel explicitně nedal — našel si je ve skryté lokální cache a použil je.
Tohle nejsou detaily o jednom modelu. Jsou to argumenty pro to, proč musíš přemýšlet o tom, kde tvůj agent běží — ne jen který model je pod kapotou. Podobně to funguje u jiných agentů: když řešíš nastavení a workflow Claude Code, stejná rizika platí, i když se model chová ukázněněji.
Sandbox pro AI agenta: proč nestačí lepší model
První reflexivní reakce bývá „Tak nepoužiju GPT-5.6 Sol". To je ale špatná lekce. Konstantou v incidentu nebyla verze modelu, ale desktopové prostředí — Codex běžící lokálně, na reálném stroji, mimo jakýkoliv sandbox, jeden špatný path od celého disku.
OpenAI sice ladí instrukce modelu, ale tím jen posouvá pravděpodobnost. To, kolik škody jeden špatný krok udělá (blast radius), určuje architektura, ne model. Porovnej tři scénáře:
- Agent běžící přímo na tvém Macu nebo Windows s plným přístupem k souborovému systému: jeden
rm -rfse špatnou proměnnou znamená celý disk. Přesně to, co potkalo Shumera. - Agent v izolovaném kontejneru nebo microVM: smaže maximálně obsah kontejneru. Ten zahodíš a během vteřiny natočíš nový.
- Cloudový agent běžící v remote throwaway prostředí: nejhorší, co smůže smazat, je kontejner, který se obnoví sám.
Pravidlo, které si zapamatuj: nejlepší prevence není lépe vychovaný model, ale nikdy nepustit agenta na stroj, který si nemůžeš dovolit ztratit.
Jak bezpečně spouštět AI agenta: tři vrstvy ochrany
Bezpečnost agenta postav na třech vrstvách. Fungují nezávisle — pokud jedna selže, další chytí.
1. Izoluj agenta v Docker sandboxu nebo devcontaineru
Nejjednodušší a nejúčinnější krok. Docker koncem ledna 2026 spustil Docker Sandboxes (Docker, 30. ledna 2026) — prostředí stavěné přímo pro coding agenty jako Claude Code, Codex CLI, Copilot CLI, Gemini CLI a Kiro. Každý agent běží ve vlastní microVM, do které se namountuje jen tvůj projektový workspace. Stroj pod tím zůstane nedotčený.
Co konkrétně sandbox řeší:
- Hypervisor-level izolace — tvrdá hranice mezi agentem a hostem, ne jen obyčejný kontejner.
- Bezpečný přístup k Dockeru — agent může uvnitř sandboxu buildovat a spouštět kontejnery, ale nemá přístup k host Docker daemonu (klasický Docker-in-Docker problém, který obyčejné kontejnery neumí).
- Network allow/deny listy — můžeš agentovi zakázat volat tam, kam nemá.
- Fast reset — když se agent zblázní, sandbox smažeš a nový natočíš za pár sekund.
Pokud nechceš Docker Sandboxes, použij klasický devcontainer (VS Code Dev Containers nebo oficiální návod pro devcontainer v Claude Code). Princip je stejný: projekt se namountuje do izolovaného kontejneru, agent žije uvnitř a host zůstává čistý.
2. Scope oprávnění: nedávej agentovi přístup k produkci
Sandbox ti zachrání disk, ale ne produkční databázi, když agentovi dovolíš k ní přistupovat. Proto druhá vrstva — principle of least privilege, tedy princip minimálních oprávnění.
- Nikdy nedávej agentovi přístup k produkci. Produkční databáze, produkční credentials, deploy klíče — tohle je mimo dosah. TechCrunch k incidentu doporučuje přímo „permission scoping (that doesn't give access to production systems)".
- Nenechávej credentials tam, kde si je agent najde sám. V system cardu je popsáno, jak si Sol načetl credentials ze skryté lokální cache, které mu uživatel nedal. Používej scoped identity nebo read-only tokeny s expirací.
- Scope filesystem na projekt. Namountuj do sandboxu jen adresář projektu, ne celý home ani root.
- YOLO /
--dangerously-skip-permissionsrežim jen uvnitř sandboxu. Když už chceš pustit agenta bez potvrzování každého kroku, dělej to tam, kde nemůže udělat trvalou škodu. Na hostu nikdy.
Tady je irony: stejné AI, co dokáže zničit tvůj disk, se dá naopak použít k hledání bezpečnostních děr v kódu — o tom píšeme v průvodci bezpečnostními schopnostmi Claude Code. Nástroj je stejný, rozdíl je v tom, jak ho postavíš a kde ho pustíš.
3. Zálohy, verzování a staged rollouts
Třetí vrstva je recovery — pro případ, že první dvě selžou nebo když agent poběží interaktivně a něco přehlédneš.
- Git pro všechno. V incidentu s VM se ztratilo necommitnuté práci. Commituj často, worktrees měj čisté, experimenty dělej na větvích.
- Pravidelné zálohy nejen kódu, ale i dat, ke kterým má agent přístup — Time Machine, cloud backup, snapshoty databáze.
- Staged rollouts. Neukazuj agentovi rovnou živá data. Nejdřív ho pusť na kopii nebo stagingu, ověř co dělá, a pak teprve na reálném projektu. TechCrunch to jmenuje mezi základními obranami.
Srovnání: lokální agent, sandbox nebo cloud
| Prostředí | Blast radius | Pohodlí | Kdy použít |
|---|---|---|---|
| Agent přímo na hostu | Celý disk / systém | Nejvyšší, ale rizikové | Téměř nikdy u autonomních úkolů |
| Docker sandbox / devcontainer | Obsah kontejneru | Vysoké, rychlý reset | Většina lokální práce s agentem |
| Cloudový agent (E2B, Daytona, Codespaces) | Rebuildable kontejner v cloudu | Střední (latence, cena) | Dlouhé autonomní úkoly, týmy |
Čím dál víc agentů poběží cloudově právě proto, že tam blast radius přestává být tvůj problém — nejhorší scénář je kontejner, který si systém obnoví sám. Pro lokální práci je sweet spot Docker sandbox: pohodlí a rychlost lokálu, ale s tvrdou izolační hranicí. Pokud ještě řešíš, který agent vůbec zavést, pomůže srovnání AI coding nástrojů podle ceny — bezpečnost ti ale neuleví, ať si vybereš kterýkoliv.
Praktický příklad: Claude Code v Docker sandboxu krok za krokem
Nejrychlejší cesta od „běží na Macu nechráněně" k „běží izolovaně":
-
Nainstaluj Docker Desktop (podporuje macOS i Windows).
-
V adresáři projektu spusť agenta v sandboxu:
docker sandbox run claude -
Agent se spustí ve vlastní microVM s namountovaným jen aktuálním workspace. Přihlášení (OAuth přes
/login, pokud máš Claude předplatné) přetrvá i po rebuildu — nepřihlašuješ se pořád dokola. -
Nech agenta pracovat. Když se něco pokazí, sandbox zahodíš a začneš znovu — tvůj host je netknutý.
Pro Codex, Gemini CLI nebo Copilot CLI je postup stejný — Docker Sandboxes je podporují všechny. Pokud preferuješ čistý devcontainer bez Docker Sandboxes, najdi návod přímo v dokumentaci Claude Code. Více tipů k efektivní práci s agentem najdeš také v přehledu 100 Pro Hacks pro Claude Code.
Kdy sandbox přeskočit a kdy ho potřebuješ nutně
Není potřeba izolovat úplně všechno. Sandbox dává smysl, když:
- Agent má autonomní přístup k souborům, shellu nebo databázi (hlavně v režimu bez potvrzování).
- Pracuješ na něčem blízko produkce nebo s reálnými daty.
- Spouštíš dlouhé úkoly na pozadí, kde nekontroluješ každý krok.
Můžeš ho přeskočit, když:
- Agent jen čte a navrhuje změny, které ty sám aplikuješ.
- Jde o krátkou interaktivní session, kde schvaluješ každý krok.
- Pracuješ v izolovaném git worktree, kde si maximálně poškodíš necommitnutý experiment (a i tak — commituj).
Pohybovat se dá po celé škále od „plně izolovaný sandbox" po „volný interaktivní režim". Důležité je vědět, kde na té škále stojíš, a pro autonomní práci volit izolaci.
Závěr: izoluj tam, kde to bolí
Incident s GPT-5.6 Sol je příležitost naučit se správnou lekci — ne „vyhni se modelu X", ale „nikdy nepusť agenta na stroj, který nemůžeš zahodit". Tři vrstvy — izolace v Docker sandboxu nebo devcontaineru, scoping oprávnění bez přístupu k produkci a zálohy verzováním — tě ochrání nezávisle na tom, jak se chová který model. Modely se mění a budou občas dělat blbosti. Tvoje data by neměla záviset na tom, jestli se tenkrát trefí do správné cesty.
Časté otázky
Je Docker Sandbox zdarma?
Základní Docker Desktop i Docker Sandboxes mají vrstvu zdarma pro individuální vývojáře (Docker Personal). Pro týmové a firemní použití jsou placené tarify. Cloudové alternativy jako E2B, Daytona nebo GitHub Codespaces se platí podle spotřeby.
Můžu pustit agenta bez sandboxu, když mám zálohy?
Můžeš, ale záloha je recovery, ne prevence. Sandboxing omezuje blast radius hned — nemusíš nic obnovovat, protože se nic reálně nestalo. Záloha tě zachrání, až když ostatní vrstvy selžou. Obojí dohromady dává smysl, samotná záloha jako jediná obrana ne.
Funguje Docker Sandbox i pro Codex a Gemini CLI?
Ano. Docker Sandboxes od ledna 2026 podporují Claude Code, Codex CLI, Copilot CLI, Gemini CLI i Kiro. Pro každý z nich platí stejná izolace v microVM — spustíš je jedním příkazem typu docker sandbox run <agent>.
Co je bezpečnější — lokální agent v sandboxu nebo cloudový agent?
Z hlediska tvého disku je cloudový agent bezpečnější — běží v remote prostředí, ke kterému tvůj stroj vůbec nepřistupuje. Lokální sandbox je bezpečnější než holý lokální agent a zároveň rychlejší a levnější než cloud. Pro dlouhé autonomní úkoly vol cloud, pro běžnou lokální práci vol sandbox.
Jak omezím, k jakým souborům má agent přístup?
V Docker Sandboxu nebo devcontaineru namountuj do prostředí jen adresář projektu, ne celý home ani root. Dále nastav deny patterns a permission scoping na úrovni agenta (např. u Claude Code deny pro cesty mimo projekt) a nikdy nedávej agentovi credentials k produkci.