Пять периметров безопасности Claude Code: что реально настроить, а что вас удивит

13 мин. чтения
Bybit
SpaceX за крипту
Дробные доли · 24/7
Открыть рынок →

Коротко (TL;DR)

Безопасность Claude Code — это не переключатель «безопасно/опасно», а пять независимых периметров, и почти в каждом есть дефолт, который вас удивит.

ПериметрЧто защищаетДефолт, который стоит проверить
Permission-правилачто агенту можно запускать/читать.env не входит в защищённые пути автоматически
Permission-режимыPlan / Auto / YOLO / Sandbox--dangerously-skip-permissions снимает всё
OS-sandboxизоляция Bash-командпо умолчанию читает ~/.aws и ~/.ssh
Политика провайдерачто агенту запрещено делатьнарушение может стоить доступа
Приватность данныхобучается ли модель на вашем кодена Pro/Max с 28 августа 2025 — по умолчанию да

Если из этой таблицы вы узнали что-то новое — статья для вас. Дальше разберём каждый периметр, три реальных уязвимости 2025–2026 годов и чек-лист «что настроить за 15 минут». Базовую механику settings.json и режимов доступа мы разбираем в отдельных уроках курса; здесь идём глубже — в то, чему из защиты можно доверять и почему.

Sandbox: что он изолирует, а что нет

/sandbox в Claude Code — это ограничение на уровне операционной системы: агент пишет только в рабочую папку, а сеть режется по allowlist. Технически это Seatbelt на macOS и связка bubblewrap с socat на Linux.

Первое, что нужно понять: sandbox изолирует только Bash-команды. Инструменты Read, Edit, работа через MCP-серверы и хуки идут мимо песочницы — они контролируются обычными permission-правилами, а не ОС-изоляцией. То есть «включил sandbox — теперь всё безопасно» неверно: за пределами Bash действуют другие правила.

SpaceX · xStockSpaceX — частная компания. Торгуй её токеном на Bybit за крипту.Торговать SpaceX →

Второй сюрприз ломает главный миф о песочнице. По умолчанию sandbox не защищает ваши секреты — процессы внутри него спокойно читают ~/.aws/credentials и ~/.ssh/. Песочница ограничивает запись и сеть, но не чтение чувствительных файлов в домашней директории. Пока вы это не настроите, «изолированный» агент видит ваши облачные ключи.

Защита секретов: то, что появилось недавно

Ответ на проблему чтения кредов — настройка sandbox.credentials, и это свежий механизм: режим 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 есть список защищённых путей — файлов и папок, которые агент не тронет даже с широкими правами: .git, .claude, .vscode и другие. Защита действует всегда, кроме режима bypassPermissions.

И вот ключевое заблуждение: .env в этот список не входит. Многие разработчики уверены, что файл с секретами защищён «из коробки», раз уж защищены .git и .claude. Это не так — за .env отвечаете вы сами, явным deny-правилом. Это системная особенность, а не ваша забывчивость, и знать о ней нужно до того, как агент прочитает production-ключи.

Три реальных уязвимости и чему они учат

За 2025–2026 годы в Claude Code задокументированы конкретные CVE. Три из них показательны.

Bybit · Rewards Hubдо $30,100Внеси депозит, торгуй 14 дней — и забери награды в Rewards HubЗабрать бонус →
  • 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-исследований, держите авторизацию под рукой: граница проходит именно по разрешению владельца системы.

Куда уходят код и данные

Самый чувствительный периметр — приватность. Здесь дефолт менялся, и это важно.

С 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 минут

Свой синтез из всего вышесказанного — минимум, который стоит сделать до того, как оставлять агента работать всерьёз:

  1. Проверьте настройку приватности (обучение на данных) в аккаунте — особенно если это личный Pro/Max с 2025 года.
  2. Настройте sandbox.credentials (deny или mask), чтобы песочница не читала ~/.aws и ~/.ssh.
  3. Добавьте явное deny-правило на .env — на защищённые пути он не рассчитывает.
  4. Не запускайте --dangerously-skip-permissions вне контейнера или изолированной виртуалки.
  5. Обновляйте CLI — половина разобранных CVE закрыта конкретными версиями; на старой вы уязвимы.
  6. В незнакомом чужом репозитории работайте с минимальными правами: помните про «исполнение до доверия».

Как настроить угрозы для агента-инструмента в целом (не только 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

Bybit
$30,100 + $5,030
100 USDT в подарок
Получить →
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.