TL;DR
Claude Code je bezpečné používat, pokud ho nastavíte, a na výchozím nastavení rizikové. Na čerstvé instalaci v říjnu 2026 je sandbox vypnutý, nejsou žádná zamítací pravidla ani hooky a shellový příkaz, který schválíte, může zapisovat kamkoli, kam může váš uživatelský účet. Roztřídil jsem 93 veřejných hlášení incidentů z GitHub issues, bezpečnostních upozornění a bezpečnostních článků: škody pocházely z nevyžádaných git reset --hard a resetů databáze, z pravidel, která žila jen v CLAUDE.md, z nedůvěryhodných repozitářů, issues a pluginů a ze subagentů, kteří spouštěli další subagenty. Téměř nic z toho nebyl dramatický rm -rf /. Dejte práci do gitu, zapněte sandbox, napište zamítací pravidla a jeden blokující hook a držte produkční přihlašovací údaje mimo dosah agenta.
93
veřejných hlášení incidentů roztříděných podle příčiny, červen 2025 až říjen 2026
GitHub issues, bezpečnostní upozornění, bezpečnostní blogy, Hacker News
19
z nich říká, že data byla ztracena nadobro
dalších 11 říká, že byla obnovena
10
porušilo pravidlo napsané jen v CLAUDE.md
prompt je rada, pravidlo oprávnění je vymáhání
Jsem Denys, full-stack a AI inženýr a Claude Code používám každý den. Níže jsou dvě věci: co se pokazilo jiným lidem a co vám Claude Code proti tomu dává, včetně toho, které z těchto ochran jsou ve výchozím stavu zapnuté. Potom nastavení, které zaplní mezery.
Je Claude Code bezpečný?
Bezpečnost nežije v modelu. Claude Code rozhoduje, co se spustí, přes režim oprávnění, pravidla oprávnění, volitelný sandbox a volitelné hooky a stránka o oprávněních od Anthropic to říká jasně: pravidla vymáhá Claude Code, ne model, a pokyny v CLAUDE.md utvářejí, co se Claude pokusí udělat, ale nemění, co smí.
Poctivá odpověď tedy závisí na vašem nastavení. Stránka o zabezpečení popisuje hranici pracovního adresáře jako dotaz na oprávnění a dodává, že „a Bash command you approve can still write anywhere your user account can“ (příkaz Bash, který schválíte, může stále zapisovat všude, kam může váš uživatelský účet). Stránka o sandboxu říká „The sandbox is off by default“ (sandbox je ve výchozím stavu vypnutý) a že i když je zapnutý, pokrývá jen shellové příkazy: souborové nástroje, servery MCP a hooky běží mimo něj. Závěrečná věta Anthropic na stránce o zabezpečení: „no system is completely immune to all attacks.“ (žádný systém není zcela imunní vůči všem útokům.)
Co se pokazilo jiným lidem: 93 hlášení incidentů
- října 2026 jsem shromáždil veřejná hlášení o tom, že Claude Code napáchal škodu nebo málem napáchal: 63 GitHub issues a bezpečnostních upozornění, 26 článků na bezpečnostních a inženýrských blozích a 4 vlákna na Hacker News, od června 2025 do října 2026. Vynechal jsem vlákna z Redditu, která jsem viděl jen přes zrcadla. Každé hlášení dostalo jeden typ a, pokud to autor uvedl, režim oprávnění a zda byla ztracena data. 60 z 61 citací, které jsem zkontroloval proti textu na GitHubu, souhlasilo doslova.
19 hlášení říká, že data byla ztracena nadobro, 11, že byla obnovena, 36 popisuje díru nalezenou dřív, než někomu uškodila (většinou upozornění, která byla opravena), a 27 to neuvádí. 56 z 93 neuvádí režim oprávnění, takže tato množina nemůže říct, zda se škody dějí v „režimu YOLO“. Ukazuje to pět vzorců.
1. Agent spustí destruktivní příkaz, který nikdo nežádal. Při opravě chyb lintu spustil git checkout HEAD -- . a zahodil hodinu necommitnuté práce (#11821). Na začátku relace spustil git reset --hard origin/main přes nepushnuté commity (#34327). Spustil drizzle-kit push --force na produkční databázi bez záloh (#27063), přijal reset Prisma na produkci (#33183) a v jednom článku spustil terraform destroy se starým produkčním state souborem ve složce. Nic z toho není rm -rf /. Jsou to běžné příkazy s příznakem, který přeskočí vlastní potvrzení nástroje.
2. Pravidla, která žijí jen v CLAUDE.md. 10 hlášení se týká napsaného pravidla, které agent porušil: commitoval skutečné API klíče navzdory 150řádkové bezpečnostní sekci (#2142), commitoval po pravidle „never commit“ (#34774), vypsal token přes grep a všiml si toho až potom (#44868). Jeden autor upozorňuje, že CLAUDE.md leží v repozitáři, do kterého agent může zapisovat (#23870). To odpovídá dokumentaci: prompt je rada, pravidlo je vymáhání.
3. Zamítací pravidlo blokuje příkaz, ne cíl. Se zakázaným Bash(rm *) agent smazal soubor jednořádkovým skriptem v Pythonu (#39459). Stránka o oprávněních říká totéž o porovnávání textu: git -C . push neodpovídá pravidlu pro git push.
4. Nedůvěryhodný text a kód dostávají stejnou moc jako vy. Vlastní soubor nastavení repozitáře mohl spustit hooky a odeslat API klíč ještě před dialogem důvěry (Check Point, CVE-2025-59536). Prompt v GitHub issue přiměl GitHub Action pro Claude Code přečíst prostředí runneru a prozradit jeho API klíč (Microsoft). Plugin z marketplace se skrytým hookem posílal kód na server útočníka (PromptArmor) a v říjnu se v marketplace Cursoru objevila pozměněná kopie rozšíření Claude Code (Cursor). Opravené jsou opravené; vzorec zůstává.
5. Subagenti, kteří spouštějí subagenty. Jedna relace spálila přes 600 dolarů (#72732); jiná spustila asi 242 agentů, než uživatel napsal /exit (#69332). Odpověď správce v #72732 říká, že limity souběžných subagentů a hloubky vnoření byly přidány ve verzích 2.1.217 a 2.1.219.
Co vám Claude Code dává a co je ve výchozím stavu zapnuté
Každá ochrana níže je skutečná a zdokumentovaná. Rozhoduje třetí sloupec.
| Ochrana | Co dělá | Výchozí stav, říjen 2026 |
|---|---|---|
| Režim oprávnění | Manuální se ptá před úpravami a příkazy; auto režim nechá schvalovat klasifikační model místo vás | Auto režim je počáteční režim interaktivních relací od verze v2.1.283 |
| Klasifikátor auto režimu | Blokuje akce, které považuje za nebezpečné | Zapnutý s auto režimem. Čísla Anthropic z března 2026: 17 % z 52 skutečných přehnaně horlivých akcí minul |
| Pravidla deny, ask a allow | Blokují nebo vynutí dotaz u odpovídajících volání nástrojů, v každém režimu | Žádná, dokud je nenapíšete |
| Bash sandbox | Omezení souborů a sítě pro shellové příkazy vymáhaná operačním systémem | Vypnutý. Jen shell; čte ~/.ssh, dokud to nezakážete |
| Hooky | Váš skript běží před každým voláním nástroje a může ho zablokovat | Žádné |
Checkpointy a /rewind |
Vrátí úpravy souborů, které Claude provedl | Zapnuté, ale soubory změněné jen přes Bash se nesledují |
Dialog důvěry, schválení .mcp.json |
Zeptají se před důvěrou složce nebo serverům MCP projektu | Zapnuté interaktivně; relace s -p neukáže ani jedno |
| Spravovaná nastavení | Organizace zamkne režimy, pravidla a hooky | Nenasazeno, pokud to vaše firma neudělá |
Takto vypadá cesta jednoho volání nástroje. Červené kroky jsou ty, které čerstvá instalace nechává prázdné nebo vypnuté:
- Claude navrhne volání nástrojeÚprava souboru, shellový příkaz, volání serveru MCP.
- Hooky PreToolUseVáš skript vidí celé volání a může ho zablokovat. Ve výchozím stavu žádné.
- Pravidla deny a askPorovnávají příkaz tak, jak je napsaný. Ve výchozím stavu žádná.
- Režim oprávněníManuální se ptá vás, auto režim se ptá klasifikátoru, bypass se neptá nikoho.
- SandboxOmezení souborů a sítě od OS, jen pro shellové příkazy. Ve výchozím stavu vypnutý.
- Volání se spustí s přístupem vašeho uživateleOd tohoto bodu pomůže už jen git a zálohy.
--dangerously-skip-permissions má v dokumentaci vlastní větu: „Only use this mode in isolated environments like containers or VMs where Claude Code can’t cause damage.“ (Používejte tento režim jen v izolovaných prostředích, jako jsou kontejnery nebo VM, kde Claude Code nemůže způsobit škodu.)
Pravidla deny i hooky posuzují příkaz jako text, takže příkaz napsaný jinak může stále proklouznout, a hook běží s vaším plným přístupem. Proto jsou jednou vrstvou a git, zálohy a oddělené přihlašovací údaje jsou ostatní.
Jak Claude Code bezpečně nastavit
Podle hodnoty na minutu:
- Commitujte před začátkem a často. Checkpointy nepokrývají soubory změněné shellovým příkazem. Git ano.
- Držte produkční přihlašovací údaje mimo složku agenta. V jednom hlášení vedlejší skripty subagenta spustily
DELETE FROMna každou tabulku, protože produkční přihlašovací údaje ležely nezakomentované v lokálním.env(#64056). Vývojová databáze, kterou agent může rozbít, je v pořádku; produkční, ke které se dostane, je incident. - Napište zamítací pravidla pro příkazy, které ničí. Platí v každém režimu, včetně bypass:
{
"permissions": {
"deny": [
"Bash(git reset --hard *)",
"Bash(git push --force *)",
"Bash(git push -f *)",
"Bash(git checkout -- *)",
"Bash(git clean *)",
"Bash(terraform destroy *)",
"Bash(drizzle-kit push --force *)",
"Bash(prisma migrate reset *)",
"Read(./.env)",
"Read(./.env.*)"
]
},
"sandbox": {
"enabled": true,
"allowUnsandboxedCommands": false
}
}
- Zapněte sandbox (
/sandbox) a vypněte opakování bez sandboxu, jak je uvedeno výše. Přidejtefilesystem.denyReadpro~/.ssha složky s přihlašovacími údaji k cloudu, protože je sandbox ve výchozím stavu čte. - Přidejte jeden hook
PreToolUsepro to, co textová pravidla minou. Zamítací pravidlo nevidígit -C . push --forceani smazání přes Python; krátký skript, který posoudí celý příkaz, ano. Začněte pěti příkazy, které by vás bolely nejvíc. - Berte nedůvěryhodný obsah jako kód. Neznámé repozitáře otevírejte v kontejneru nebo VM, běhům CI dávejte tokeny s omezeným rozsahem a pamatujte, že relace s
-pneukáže dialog důvěry. Plugin nebo server MCP běží s vašimi oprávněními; Anthropic říká, že „does not security-audit or manage any MCP server.“ (neprovádí bezpečnostní audit ani nespravuje žádný server MCP.) - Omezte dlouhé běhy. Pro běhy bez dohledu používejte
--max-budget-usda sledujte počty subagentů.
Pokud agent staví na Supabase, platí stejné uvažování o klíčích: tajný klíč, který používá ve skriptech, přeskakuje každou politiku, jak jsem ukázal v článku anon key vs service role key. Širší seznam toho, v čem aplikace vytvořené AI chybují, je v článku bezpečnostní rizika vibe codingu a jak agenti selhávají v dlouhých během, je v článku co se rozbilo v mé orchestraci více agentů.
Na co se lidé ptají
Může Claude Code smazat moje soubory? Ano. V manuálním režimu se nejdřív zeptá, ale schválený příkaz dosáhne na cokoli, na co váš uživatel. S režimy automatického schvalování se nemusí zeptat. 11 výše uvedených hlášení jsou mazání souborů. Git a zálohy jsou oprava, která funguje vždy.
Je --dangerously-skip-permissions bezpečný? Podle dokumentace Anthropic jen v kontejneru nebo VM, kde není nic, o co byste nemohli přijít. Pravidla deny a hooky se v tomto režimu pořád uplatňují; dotazy ne.
Je auto režim bezpečný? Bezpečnější než schvalovat všechno reflexem. Anthropic naměřil 0,4 % falešně pozitivních a řekl, že ve svém březnovém testu 2026 minul 17 % skutečných přehnaně horlivých akcí, a označil ho za „not a drop-in replacement for careful human review on high-stakes infrastructure.“ (ne náhradu za pečlivou lidskou kontrolu u kritické infrastruktury.)
Posílá Claude Code můj kód Anthropicu k trénování? Podle komerčních podmínek (Team, Enterprise, API) Anthropic říká, že na vašem kódu ani promptech netrénuje, pokud se nepřihlásíte. U spotřebitelských tarifů je to nastavení, které ovládáte. Podrobnosti jsou na stránce o používání dat.
Je auto režim totéž co --dangerously-skip-permissions? Ne. Anthropic postavil auto režim jako náhradu tohoto příznaku: klasifikátor stále posuzuje shellové příkazy, síťová volání a spouštění subagentů a po 3 zamítnutích za sebou nebo 20 celkem se zastaví a předá řízení vám. Příznak neposuzuje nic.