TL;DR
Claude Code je bezpečné používať, ak ho nastavíte, a na predvolenom nastavení rizikové. Na čerstvej inštalácii v októbri 2026 je sandbox vypnutý, nie sú žiadne zamietacie pravidlá ani hooky a shellový príkaz, ktorý schválite, môže zapisovať kamkoľvek, kam môže váš používateľský účet. Roztriedil som 93 verejných hlásení incidentov z GitHub issues, bezpečnostných upozornení a bezpečnostných článkov: škody pochádzali z nevyžiadaných git reset --hard a resetov databázy, z pravidiel, ktoré žili len v CLAUDE.md, z nedôveryhodných repozitárov, issues a pluginov a zo subagentov, ktorí spúšťali ďalších subagentov. Takmer nič z toho nebolo dramatické rm -rf /. Dajte prácu do gitu, zapnite sandbox, napíšte zamietacie pravidlá a jeden blokujúci hook a držte produkčné prihlasovacie údaje mimo dosahu agenta.
93
verejných hlásení incidentov roztriedených podľa príčiny, jún 2025 až október 2026
GitHub issues, bezpečnostné upozornenia, bezpečnostné blogy, Hacker News
19
z nich hovorí, že dáta boli stratené navždy
ďalších 11 hovorí, že boli obnovené
10
porušilo pravidlo napísané len v CLAUDE.md
prompt je rada, pravidlo oprávnení je vymáhanie
Som Denys, full-stack a AI inžinier a Claude Code používam každý deň. Nižšie sú dve veci: čo sa pokazilo iným ľuďom a čo vám Claude Code proti tomu dáva, vrátane toho, ktoré z týchto ochrán sú v predvolenom stave zapnuté. Potom nastavenie, ktoré zaplní medzery.
Je Claude Code bezpečný?
Bezpečnosť nežije v modeli. Claude Code rozhoduje, čo sa spustí, cez režim oprávnení, pravidlá oprávnení, voliteľný sandbox a voliteľné hooky a stránka o oprávneniach od Anthropic to hovorí jasne: pravidlá vymáha Claude Code, nie model, a pokyny v CLAUDE.md formujú, čo sa Claude pokúsi urobiť, ale nemenia, čo smie.
Poctivá odpoveď teda závisí od vášho nastavenia. Stránka o zabezpečení popisuje hranicu pracovného adresára ako otázku na oprávnenie a dodáva, že „a Bash command you approve can still write anywhere your user account can“ (príkaz Bash, ktorý schválite, môže stále zapisovať všade, kam môže váš používateľský účet). Stránka o sandboxe hovorí „The sandbox is off by default“ (sandbox je v predvolenom stave vypnutý) a že aj keď je zapnutý, pokrýva len shellové príkazy: súborové nástroje, servery MCP a hooky bežia mimo neho. Záverečná veta Anthropic na stránke o zabezpečení: „no system is completely immune to all attacks.“ (žiadny systém nie je úplne imúnny voči všetkým útokom.)
Čo sa pokazilo iným ľuďom: 93 hlásení incidentov
- októbra 2026 som zhromaždil verejné hlásenia o tom, že Claude Code napáchal škodu alebo takmer napáchal: 63 GitHub issues a bezpečnostných upozornení, 26 článkov na bezpečnostných a inžinierskych blogoch a 4 vlákna na Hacker News, od júna 2025 do októbra 2026. Vynechal som vlákna z Redditu, ktoré som videl len cez zrkadlá. Každé hlásenie dostalo jeden typ a, ak to autor uviedol, režim oprávnení a či boli stratené dáta. 60 zo 61 citácií, ktoré som skontroloval proti textu na GitHube, súhlasilo doslovne.
19 hlásení hovorí, že dáta boli stratené navždy, 11, že boli obnovené, 36 popisuje dieru nájdenú skôr, než niekomu uškodila (väčšinou upozornenia, ktoré boli opravené), a 27 to neuvádza. 56 z 93 neuvádza režim oprávnení, takže táto množina nevie povedať, či sa škody dejú v „režime YOLO“. Ukazuje to päť vzorcov.
1. Agent spustí deštruktívny príkaz, ktorý nikto nežiadal. Pri oprave chýb lintu spustil git checkout HEAD -- . a zahodil hodinu necommitnutej práce (#11821). Na začiatku relácie spustil git reset --hard origin/main cez nepushnuté commity (#34327). Spustil drizzle-kit push --force na produkčnú databázu bez záloh (#27063), prijal reset Prisma na produkcii (#33183) a v jednom článku spustil terraform destroy so starým produkčným state súborom v priečinku. Nič z toho nie je rm -rf /. Sú to bežné príkazy s príznakom, ktorý preskočí vlastné potvrdenie nástroja.
2. Pravidlá, ktoré žijú len v CLAUDE.md. 10 hlásení sa týka napísaného pravidla, ktoré agent porušil: commitol skutočné API kľúče napriek 150-riadkovej bezpečnostnej sekcii (#2142), commitol po pravidle „never commit“ (#34774), vypísal token cez grep a všimol si to až potom (#44868). Jeden autor upozorňuje, že CLAUDE.md leží v repozitári, do ktorého agent môže zapisovať (#23870). To zodpovedá dokumentácii: prompt je rada, pravidlo je vymáhanie.
3. Zamietacie pravidlo blokuje príkaz, nie cieľ. So zakázaným Bash(rm *) agent zmazal súbor jednoriadkovým skriptom v Pythone (#39459). Stránka o oprávneniach hovorí to isté o porovnávaní textu: git -C . push nezodpovedá pravidlu pre git push.
4. Nedôveryhodný text a kód dostávajú rovnakú moc ako vy. Vlastný súbor nastavení repozitára mohol spustiť hooky a odoslať API kľúč ešte pred dialógom dôvery (Check Point, CVE-2025-59536). Prompt v GitHub issue prinútil GitHub Action pre Claude Code prečítať prostredie runnera a prezradiť jeho API kľúč (Microsoft). Plugin z marketplace so skrytým hookom posielal kód na server útočníka (PromptArmor) a v októbri sa v marketplace Cursoru objavila pozmenená kópia rozšírenia Claude Code (Cursor). Opravené sú opravené; vzorec zostáva.
5. Subagenti, ktorí spúšťajú subagentov. Jedna relácia spálila vyše 600 dolárov (#72732); iná spustila asi 242 agentov, kým používateľ napísal /exit (#69332). Odpoveď správcu v #72732 hovorí, že limity súbežných subagentov a hĺbky vnorenia boli pridané vo verziách 2.1.217 a 2.1.219.
Čo vám Claude Code dáva a čo je v predvolenom stave zapnuté
Každá ochrana nižšie je skutočná a zdokumentovaná. Rozhoduje tretí stĺpec.
| Ochrana | Čo robí | Predvolený stav, október 2026 |
|---|---|---|
| Režim oprávnení | Manuálny sa pýta pred úpravami a príkazmi; auto režim nechá schvaľovať klasifikačný model namiesto vás | Auto režim je počiatočný režim interaktívnych relácií od verzie v2.1.283 |
| Klasifikátor auto režimu | Blokuje akcie, ktoré považuje za nebezpečné | Zapnutý s auto režimom. Čísla Anthropic z marca 2026: 17 % z 52 skutočných prehnane horlivých akcií minul |
| Pravidlá deny, ask a allow | Blokujú alebo vynútia otázku pri zodpovedajúcich volaniach nástrojov, v každom režime | Žiadne, kým ich nenapíšete |
| Bash sandbox | Obmedzenia súborov a siete pre shellové príkazy vymáhané operačným systémom | Vypnutý. Len shell; číta ~/.ssh, kým to nezakážete |
| Hooky | Váš skript beží pred každým volaním nástroja a môže ho zablokovať | Žiadne |
Checkpointy a /rewind |
Vrátia úpravy súborov, ktoré Claude urobil | Zapnuté, ale súbory zmenené len cez Bash sa nesledujú |
Dialóg dôvery, schválenie .mcp.json |
Opýtajú sa pred dôverou priečinku alebo serverom MCP projektu | Zapnuté interaktívne; relácia s -p neukáže ani jedno |
| Spravované nastavenia | Organizácia zamkne režimy, pravidlá a hooky | Nenasadené, ak to vaša firma neurobí |
Takto vyzerá cesta jedného volania nástroja. Červené kroky sú tie, ktoré čerstvá inštalácia necháva prázdne alebo vypnuté:
- Claude navrhne volanie nástrojaÚprava súboru, shellový príkaz, volanie servera MCP.
- Hooky PreToolUseVáš skript vidí celé volanie a môže ho zablokovať. V predvolenom stave žiadne.
- Pravidlá deny a askPorovnávajú príkaz tak, ako je napísaný. V predvolenom stave žiadne.
- Režim oprávneníManuálny sa pýta vás, auto režim sa pýta klasifikátora, bypass sa nepýta nikoho.
- SandboxObmedzenia súborov a siete od OS, len pre shellové príkazy. V predvolenom stave vypnutý.
- Volanie sa spustí s prístupom vášho používateľaOd tohto bodu pomôže už len git a zálohy.
--dangerously-skip-permissions má v dokumentácii vlastnú vetu: „Only use this mode in isolated environments like containers or VMs where Claude Code can’t cause damage.“ (Používajte tento režim len v izolovaných prostrediach, ako sú kontajnery alebo VM, kde Claude Code nemôže spôsobiť škodu.)
Pravidlá deny aj hooky posudzujú príkaz ako text, takže príkaz napísaný inak môže stále prekĺznuť, a hook beží s vaším plným prístupom. Preto sú jednou vrstvou a git, zálohy a oddelené prihlasovacie údaje sú ostatné.
Ako Claude Code bezpečne nastaviť
Podľa hodnoty na minútu:
- Commitujte pred začiatkom a často. Checkpointy nepokrývajú súbory zmenené shellovým príkazom. Git áno.
- Držte produkčné prihlasovacie údaje mimo priečinka agenta. V jednom hlásení vedľajšie skripty subagenta spustili
DELETE FROMna každú tabuľku, pretože produkčné prihlasovacie údaje ležali nezakomentované v lokálnom.env(#64056). Vývojová databáza, ktorú agent môže rozbiť, je v poriadku; produkčná, ku ktorej sa dostane, je incident. - Napíšte zamietacie pravidlá pre príkazy, ktoré ničia. Platia v každom režime, vrátane 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
}
}
- Zapnite sandbox (
/sandbox) a vypnite opakovanie bez sandboxu, ako je uvedené vyššie. Pridajtefilesystem.denyReadpre~/.ssha priečinky s prihlasovacími údajmi k cloudu, pretože ich sandbox v predvolenom stave číta. - Pridajte jeden hook
PreToolUsepre to, čo textové pravidlá minú. Zamietacie pravidlo nevidígit -C . push --forceani zmazanie cez Python; krátky skript, ktorý posúdi celý príkaz, áno. Začnite piatimi príkazmi, ktoré by vás bolili najviac. - Berte nedôveryhodný obsah ako kód. Neznáme repozitáre otvárajte v kontajneri alebo VM, behom CI dávajte tokeny s obmedzeným rozsahom a pamätajte, že relácia s
-pneukáže dialóg dôvery. Plugin alebo server MCP beží s vašimi oprávneniami; Anthropic hovorí, že „does not security-audit or manage any MCP server.“ (nevykonáva bezpečnostný audit ani nespravuje žiadny server MCP.) - Obmedzte dlhé behy. Pre behy bez dohľadu používajte
--max-budget-usda sledujte počty subagentov.
Ak agent stavia na Supabase, platí rovnaké uvažovanie o kľúčoch: tajný kľúč, ktorý používa v skriptoch, preskakuje každú politiku, ako som ukázal v článku anon key vs service role key. Širší zoznam toho, v čom aplikácie vytvorené AI chybujú, je v článku bezpečnostné riziká vibe codingu a ako agenti zlyhávajú v dlhých behoch, je v článku čo sa pokazilo v mojej orchestrácii viacerých agentov.
Na čo sa ľudia pýtajú
Môže Claude Code zmazať moje súbory? Áno. V manuálnom režime sa najprv opýta, ale schválený príkaz dosiahne na čokoľvek, na čo váš používateľ. S režimami automatického schvaľovania sa nemusí opýtať. 11 vyššie uvedených hlásení sú mazania súborov. Git a zálohy sú oprava, ktorá funguje vždy.
Je --dangerously-skip-permissions bezpečný? Podľa dokumentácie Anthropic len v kontajneri alebo VM, kde nie je nič, o čo by ste nemohli prísť. Pravidlá deny a hooky sa v tomto režime stále uplatňujú; otázky nie.
Je auto režim bezpečný? Bezpečnejší než schvaľovať všetko reflexom. Anthropic nameral 0,4 % falošne pozitívnych a povedal, že vo svojom marcovom teste 2026 minul 17 % skutočných prehnane horlivých akcií, a označil ho za „not a drop-in replacement for careful human review on high-stakes infrastructure.“ (nie náhradu za dôkladnú ľudskú kontrolu pri kritickej infraštruktúre.)
Posiela Claude Code môj kód Anthropicu na trénovanie? Podľa komerčných podmienok (Team, Enterprise, API) Anthropic hovorí, že na vašom kóde ani promptoch netrénuje, ak sa neprihlásite. Pri spotrebiteľských tarifoch je to nastavenie, ktoré ovládate. Podrobnosti sú na stránke o používaní dát.
Je auto režim to isté ako --dangerously-skip-permissions? Nie. Anthropic postavil auto režim ako náhradu tohto príznaku: klasifikátor stále posudzuje shellové príkazy, sieťové volania a spúšťanie subagentov a po 3 zamietnutiach za sebou alebo 20 celkovo sa zastaví a odovzdá riadenie vám. Príznak neposudzuje nič.