Коротко (TL;DR)
Безпека Claude Code — це не перемикач «безпечно/небезпечно», а п’ять незалежних периметрів, і майже в кожному є дефолт, який вас здивує.Периметр Що захищає Дефолт, який варто перевірити Permission-правила що агенту можна запускати/читати .env не входить до захищених шляхів автоматичноPermission-режими Plan / Auto / YOLO / Sandbox --dangerously-skip-permissions знімає всеOS-sandbox ізоляція Bash-команд за замовчуванням читає ~/.aws і ~/.sshПолітика провайдера що агенту заборонено робити порушення може коштувати доступу Приватність даних чи навчається модель на вашому коді на Pro/Max з 28 серпня 2025 — за замовчуванням так
- Коротко (TL;DR)
- Sandbox: що він ізолює, а що ні
- Захист секретів: те, що з’явилося нещодавно
- Protected paths: чому .env не захищений
- Три реальні вразливості і чого вони вчать
- Що забороняє провайдер
- Куди йдуть код і дані
- Enterprise: коли це справді потрібно
- Слабкі місця і залишкові ризики
- Чек-лист: налаштувати за 15 хвилин
- FAQ
Якщо з цієї таблиці ви дізналися щось нове — стаття для вас. Далі розберемо кожен периметр, три реальні вразливості 2025–2026 років і чек-лист «що налаштувати за 15 хвилин». Базову механіку settings.json і режимів доступу ми розбираємо в окремих уроках курсу; тут ідемо глибше — у те, чому із захисту можна довіряти і чому.
Sandbox: що він ізолює, а що ні
Пісочниця Claude Code (/sandbox) — це обмеження на рівні операційної системи: агент пише лише в робочу теку, а мережа ріжеться за allowlist. Технічно це Seatbelt на macOS і зв’язка bubblewrap із socat на Linux.
Перше, що треба зрозуміти: sandbox ізолює лише Bash-команди. Інструменти Read, Edit, робота через MCP-сервери та хуки йдуть повз пісочницю — ними керують звичайні permission-правила, а не ОС-ізоляція. Тобто «увімкнув sandbox — тепер усе безпечно» — хибно: за межами Bash діють інші правила.
Другий сюрприз ламає головний міф про пісочницю. За замовчуванням sandbox не захищає ваші секрети — процеси всередині нього спокійно читають ~/.aws/credentials і ~/.ssh/. Пісочниця обмежує запис і мережу, але не читання чутливих файлів у домашній директорії. Поки ви це не налаштуєте, «ізольований» агент бачить ваші хмарні ключі.
Захист секретів: те, що з’явилося нещодавно
Відповідь на проблему читання кредів — налаштування sandbox.credentials, і це свіжий механізм захисту секретів у Claude Code: режим deny з’явився у версії v2.1.187, режим mask — у v2.1.199. Різниця принципова. deny просто забороняє читання файлів із секретами. А mask працює тонше: секрет підмінюється на рівні мережевого проксі, тобто реальне значення фізично ніколи не потрапляє в контекст моделі — LLM бачить заглушку, а справжній ключ підставляється вже у вихідний запит. Це рідкісна архітектура: не «заборона читати файл», а «секрет не існує для моделі».
Окрема тонкість — мережа. За замовчуванням TLS-трафік не інспектується, тому за надто широкого allowlist теоретично можливий domain fronting (запит іде ніби на дозволений домен, а реально — на інший). Налаштування network.tlsTerminate (з версії v2.1.199) тут легко переоцінити: воно вирішує вузьке завдання — термінує TLS лише для того, щоб працював режим mask у sandbox.credentials (інакше підміна секрету не спрацює). Вміст трафіку воно не інспектує і від domain fronting не захищає. За документацією Anthropic, ця проблема офіційно лишається відкритою: повноцінний захист вимагає власного проксі з інспекцією TLS, а суворіша ізоляція названа «активною областю розробки».
Базовий патерн «заборонити агенту читати .env і слати його через curl» налаштовується в settings.json — механіку ми розбираємо в окремому уроці курсу, тут важливіший наступний пункт.
Protected paths: чому .env не захищений
У Claude Code є список захищених шляхів (protected paths) — файлів і тек, які агент не чіпатиме навіть із широкими правами: .git, .claude, .vscode та інші. Захист діє завжди, окрім режиму bypassPermissions.
І ось ключова хиба: .env до цього списку не входить. Багато розробників упевнені, що файл із секретами захищений «з коробки», раз уже захищені .git і .claude. Це не так — за .env відповідаєте ви самі, явним deny-правилом. Це системна особливість, а не ваша забудькуватість, і знати про неї треба до того, як агент прочитає production-ключі.
Три реальні вразливості і чого вони вчать
За 2025–2026 роки в Claude Code задокументовано конкретні CVE. Три з них показові.
- CVE-2025-59536 (оцінка CVSS 3.1 — 8.8, HIGH; виправлено у версії 1.0.111, жовтень 2025). Ін’єкція коду, що спрацьовувала до того, як користувач підтвердив довіру до репозиторію.
- CVE-2026-21852 (CVSS 3.1 — 7.5 HIGH; за методикою CVSS 4.0 — 5.3 MEDIUM; виправлено у 2.0.65, січень 2026). Витік API-ключа через змінну
ANTHROPIC_BASE_URL. Зверніть увагу на розбіжність оцінок: одні джерела цитують високу 3.1-оцінку, інші — занижену 4.0; це різні методики, а не помилка. - SOCKS5 null-byte bypass — обхід мережевих обмежень пісочниці. Тут версія виправлення спірна: незалежний дослідник називає v2.1.90, а Anthropic у коментарі пресі стверджувала, що патч був уже в 2.1.88. Ми наводимо обидва варіанти, не обираючи за читача.
Важливіше за номери — загальний патерн. Усі три випадки об’єднує виконання до довіри: код або конфіг із репозиторію спрацьовував раніше, ніж ви підтвердили, що довіряєте цьому репозиторію. Це зміщує модель загроз. Небезпека не в тому, що «модель зробить щось не те з власної волі», а в тому, що шкідливим може бути сам репозиторій, який ви відкрили. Правило просте: не запускайте агента з широкими правами в незнайомому чужому коді.
Що забороняє провайдер
Окрім технічних периметрів є політика використання Anthropic (Usage Policy), що діє з 15 вересня 2025 року. Вона забороняє не лише «генерувати шкідливий контент», а й цілком конкретні агентні сценарії: експлуатацію вразливостей без авторизації, створення шкідливого ПЗ, інструментів для DDoS, обхід захистів (jailbreaking) без дозволу. Порушення — це ризик для вашого доступу до сервісу. Якщо ви використовуєте Claude Code для пентесту чи security-досліджень, тримайте авторизацію напохваті: межа проходить саме по дозволу власника системи.
Куди йдуть код і дані
Найчутливіший периметр — приватність даних Claude Code. Тут дефолт змінювався, і це важливо.
З 28 серпня 2025 року для планів Free, Pro і Max змінилася політика навчання на даних. За незалежними публікаціями (TechCrunch та інші), навчання на ваших діалогах і код-сесіях — включно з роботою в Claude Code — стало ввімкненим за замовчуванням, якщо ви явно не вимкнули це в налаштуваннях приватності. Сам Anthropic в офіційному формулюванні уникає слова «за замовчуванням» і називає це «вибором користувача» — але за фактом охоплення розробнику, який завів Claude Code на особистому Pro ще 2025 року і не чіпав Privacy Settings, варто перевірити це налаштування просто зараз.
З комерційними планами ситуація інша: Team, Enterprise, доступ через API, а також Bedrock, Vertex і подібні за замовчуванням не використовуються для навчання. Окрема опція — Zero Data Retention (ZDR): вона доступна не всім, вмикається точково для кваліфікованих акаунтів і вимикає частину функцій.
Ще один момент, про який забувають: транскрипти зберігаються локально. Claude Code записує історію сесій у ~/.claude/projects/ у відкритому вигляді і тримає їх близько 30 днів (налаштування cleanupPeriodDays). Це зручно для відновлення роботи, але це ж — ваш код і промпти у plaintext на диску. Враховуйте це на спільних чи робочих машинах.
Enterprise: коли це справді потрібно
Тарифи Enterprise дають те, чого немає в індивідуальних планах: SSO/SAML, SCIM для керування користувачами, рольову модель RBAC, журнали аудиту, Compliance API, HIPAA-BAA і сертифікації (SOC 2, ISO 27001, відповідність GDPR і CCPA). Чи потрібно це особисто вам? Як правило, ні. Але якщо ви розгортаєте Claude-агентів на команду, де важливі розмежування доступу й аудит, — саме тут ці контролі перестають бути маркетингом і стають вимогою. Частий сигнал, що час: коли одну підписку починають «шарити» на кількох людей без розмежування прав.
Слабкі місця і залишкові ризики
Навіть із налаштованими периметрами лишаються місця, де покладатися на автоматику не можна:
- Sandbox — не універсальний захист. Він покриває лише Bash; Read, Edit, MCP і хуки живуть за звичайними правами. Діру в permission-правилах пісочниця не закриває.
- Дефолти змінюються. Політика навчання на даних уже розверталася (28 серпня 2025), версії CLI приносять і нові фічі безпеки, і нові вразливості. Те, що було безпечно пів року тому, варто перевіряти заново.
- Розбіжності в оцінках. За однією й тією ж вразливістю джерела дають різні CVSS-оцінки і різні версії виправлення — це нормально для свіжих CVE, але означає, що «офіційної єдиної цифри» може не бути, і рішення про ризики ви ухвалюєте за сукупністю.
- Приватність на спільній машині. Локальні транскрипти у plaintext — це ваш код на диску. На спільному чи робочому пристрої за це відповідаєте лише ви.
Жоден із периметрів не дає стовідсоткової гарантії окремо — безпека тут виникає з їхньої суми плюс вашої дисципліни.
Чек-лист: налаштувати за 15 хвилин
Власний синтез з усього сказаного вище — мінімум налаштувань безпеки Claude Code, який варто зробити до того, як лишати агента працювати всерйоз:
- Перевірте налаштування приватності (навчання на даних) в акаунті — особливо якщо це особистий Pro/Max з 2025 року.
- Налаштуйте
sandbox.credentials(denyабоmask), щоб пісочниця не читала~/.awsі~/.ssh. - Додайте явне deny-правило на
.env— на захищені шляхи він не розраховує. - Не запускайте
--dangerously-skip-permissionsпоза контейнером чи ізольованою віртуалкою. - Оновлюйте CLI — половина розібраних CVE закрита конкретними версіями; на старій ви вразливі.
- У незнайомому чужому репозиторії працюйте з мінімальними правами: пам’ятайте про «виконання до довіри».
Як побудувати модель загроз для агента-інструмента загалом (не лише Claude Code) — логіка та сама: перелічіть периметри, знайдіть у кожному дефолт-сюрприз і закрийте його свідомо.
FAQ
Чи правда, що sandbox захищає мої секрети?
Ні, не за замовчуванням. Пісочниця обмежує запис і мережу, але процеси всередині неї читають ~/.aws/credentials і ~/.ssh/, поки ви не налаштуєте sandbox.credentials. «Увімкнув sandbox» і «захистив секрети» — різні речі.
Чи навчається Claude на моєму коді? Залежить від плану. На Free/Pro/Max з 28 серпня 2025 року навчання на діалогах і код-сесіях увімкнене за замовчуванням, якщо ви не вимкнули його вручну. На комерційних планах (Team/Enterprise/API) — ні. Перевірте налаштування приватності, особливо на старому особистому акаунті.
Наскільки небезпечний --dangerously-skip-permissions?
Він знімає всі підтвердження — агент виконує команди без запиту. Використовувати це варто лише в контейнері чи віртуалці, де агенту нема чого зламати. На робочій машині з доступом до продакшену це прямий ризик.
Мій .env захищений автоматично?
Ні. До списку захищених шляхів (.git, .claude, .vscode) .env не входить. Захист секретів налаштовуйте самі — явним deny-правилом і через sandbox.credentials.
Чи потрібен мені Enterprise заради безпеки? Для особистої роботи — майже напевно ні: базові периметри (permissions, sandbox, приватність) налаштовуються й без нього. Enterprise потрібен, коли важливі SSO, рольовий доступ і аудит на команду — тобто коли за агентом працюють кілька людей.
Курс «Claude Code з нуля до продакшену» · модуль «PRO: автономність і дисципліна». Повна програма і два маршрути навчання — на сторінці курсу.
Попередній урок: Claude Agent SDK і headless · Наступний урок: Паралельні агенти: git worktree


