SpyBara
Go Premium

sandbox-environments.md 2026-11-12 23:02 UTC to 2026-11-13 00:00 UTC

No changes for this document in this history range.

2026
Fri 6 23:01 Wed 11 22:59

Выберите среду sandbox

Сравните варианты sandbox для Claude Code: встроенный инструмент Bash в песочнице, среда выполнения sandbox, контейнеры разработки, Docker и виртуальные машины. Выберите правильную изоляцию для вашей модели угроз.

Изоляция Claude Code ограничивает то, что сессия может читать, записывать и к чему может обращаться в сети. Это особенно важно, когда вы позволяете Claude работать с меньшим количеством запросов разрешений или запускаете его без присмотра.

Claude Code может работать в нескольких видах изолированных сред, начиная от легкой песочницы для каждой команды и заканчивая полностью отдельной виртуальной машиной. На этой странице рассматривается, что они изолируют и что они требуют, помогает вам выбрать один для вашей модели угроз и показывает, как обеспечить этот выбор во всей организации.

[!NOTE]

Для более широкой модели безопасности см. Безопасность. Для развертываний Agent SDK см. Безопасное развертывание.

Сравнение подходов к sandboxing

Первые два подхода в таблице ниже работают на хост-операционной системе без контейнеров. Остальные помещают Claude Code внутри контейнера или виртуальной машины.

Подход Что изолируется Требует Docker Усилия по настройке
Sandboxed Bash tool Команды Bash, PowerShell и Monitor и их дочерние процессы Нет Минимально на macOS; низко на Linux и WSL2
Sandbox runtime Весь процесс Claude Code, включая инструменты файлов, серверы MCP и hooks Нет Низко
Dev container Полная среда разработки Да Среднее
Custom container Полная среда разработки Да Среднее-высокое
Virtual machine Полная операционная система Нет Высокое
Cloud sessions Полная операционная система, размещенная Anthropic Нет Нет; требуется подписка Claude, а для клонирования репозитория GitHub — подключенный аккаунт GitHub

Sandboxed Bash tool встроен в Claude Code и ограничивает только команды Bash. Встроенные инструменты файлов, серверы MCP и hooks по-прежнему работают непосредственно на вашем хосте. Каждый другой подход в таблице помещает весь процесс Claude Code внутри границы изоляции, поэтому инструменты файлов, серверы MCP и hooks также ограничены.

[!WARNING]

Изоляция Sandbox снижает влияние нарушения, но не устраняет риск. Любой подход, который позволяет исходящий трафик в сети, все еще может утечь данные, которые может прочитать агент, и любой подход, который монтирует ваш каталог проекта с правом записи, все еще может изменить этот код. Перед тем как полагаться на sandbox как на жесткий контроль, ознакомьтесь с ограничениями безопасности.

Изоляция также не изменяет то, что отправляется модели. Ваши подсказки и файлы, которые читает Claude, передаются в API Anthropic или вашему настроенному поставщику с sandbox или без него. См. Data usage для информации о том, что отправляет Claude Code и как это сократить.

Выберите подход

Сопоставьте вашу цель со строкой ниже, затем прочитайте раздел деталей, который следует.

Вы хотите Начните с
Уменьшить запросы разрешений во время повседневной работы на собственной машине sandboxed Bash tool, включенный с /sandbox
Позволить Claude работать без присмотра с --dangerously-skip-permissions или в режиме auto Предварительно настроенный dev container, любой контейнер или VM, или sandbox runtime
Изолировать серверы MCP и hooks, а также Bash, без Docker Среда выполнения sandbox
Стандартизировать изолированную среду в команде Предварительно настроенный dev container, скопированный в ваш репозиторий
Использовать Claude Code с устройства без локальной настройки Облачная сессия, для которой требуется подписка Claude, а для клонирования репозитория GitHub — подключенный аккаунт GitHub
Требовать изоляцию для каждого разработчика в вашей организации Enforce isolation across an organization
Работать на нативном хосте Windows Контейнер или VM, или запустить Bash sandbox внутри WSL2

Как изоляция связана с режимами разрешений

Режимы разрешений определяют, выполняется ли вызов инструмента и будете ли вы запрошены в первую очередь. Изоляция ограничивает то, что может получить доступ команда после ее выполнения. Эти два работают вместе: когда режим разрешений позволяет действиям выполняться без вашего запроса, граница изоляции ограничивает то, что эти действия могут достичь.

Когда вы передаете --dangerously-skip-permissions, Claude действует без предварительного запроса. Ограничения на действия, которые ни один режим не одобряет автоматически, по-прежнему действуют.

Без запросов для перехвата ошибок, граница изоляции, которую вы выбираете, — это то, что защищает вашу систему. Всегда запускайте сеансы --dangerously-skip-permissions внутри контейнера, VM или sandbox runtime, чтобы инструменты файлов, серверы MCP и hooks также находились внутри границы. На Linux и macOS Claude Code отказывается запускаться с этим флагом при работе от имени root, поэтому запускайте контейнер, VM или среду выполнения sandbox от имени пользователя, не являющегося root.

Auto mode заменяет запрос классификатором, который проверяет действия. Классификатор — это контроль для каждого действия, а не граница изоляции, поэтому граница изоляции все еще добавляет защиту в глубину для автоматических запусков и не требуется так, как для --dangerously-skip-permissions.

sandboxed Bash tool сам по себе ограничивает только shell команды, поэтому его недостаточно для полностью автоматических запусков в любом режиме. Вы можете комбинировать подходы: запуск sandboxed Bash tool внутри контейнера или VM дает вам ограничения команд на уровне ОС поверх внешней границы окружения. Для информации о том, как сам Bash sandbox взаимодействует с правилами разрешений и режимами разрешений, см. How sandboxing relates to permissions and permission modes.

Sandboxed Bash tool

[!NOTE]

Этот вариант не поддерживает нативный Windows. На хостах Windows используйте WSL2 или один из подходов контейнера или VM ниже.

Sandboxed Bash tool встроен в Claude Code. Он использует примитивы операционной системы для ограничения доступа к файловой системе и сети для команд инструментов Bash, PowerShell и Monitor, которые запускает Claude.

Запустите команду /sandbox для открытия панели песочницы и выберите режим. Руководство Sandboxing охватывает режимы одобрения, границу по умолчанию и как расширить или сузить ее.

Песочница для каждой команды не охватывает все, что работает в сеансе:

Чтобы поместить встроенные инструменты, серверы MCP и hooks все позади одной границы ОС, запустите весь процесс Claude Code внутри sandbox runtime, dev container или custom container.

Sandbox runtime

Пакет @anthropic-ai/sandbox-runtime оборачивает весь процесс в ту же изоляцию Seatbelt или bubblewrap, которую использует встроенная песочница Bash. Запуск Claude Code через среду выполнения ограничивает инструменты, хуки и MCP-серверы сессии, а также shell-команды. Среда выполнения — это бета-версия research preview, и ее формат конфигурации может измениться по мере развития пакета.

В этом разделе рассматривается, что вы настраиваете и что среда выполнения применяет самостоятельно. Для развёртывания среды выполнения в приложениях Agent SDK см. руководство по безопасному развёртыванию.

Настройка и запуск среды выполнения

На Linux и WSL2 среда выполнения зависит от тех же пакетов bubblewrap и socat, что и встроенная песочница, плюс ripgrep, который Claude Code поставляет в комплекте, но автономная среда выполнения разрешает из вашего PATH. Установите bubblewrap и socat как описано в Настройка Linux и WSL2, и ripgrep из менеджера пакетов вашего дистрибутива. На macOS вам не требуются дополнительные пакеты. Там среда выполнения использует встроенную песочницу Seatbelt.

По умолчанию среда выполнения запрещает доступ в сеть и ограничивает запись небольшим набором встроенных путей среды выполнения, поэтому настройте ее перед запуском Claude Code через нее. Поместите вашу конфигурацию в ~/.srt-settings.json или в файл, который вы передаете с --settings. README пакета документирует схему конфигурации.

Разрешите доступ на запись по крайней мере к:

  • Вашему каталогу проекта.
  • Путям конфигурации Claude Code ~/.claude и ~/.claude.json.
  • Каталогу, в который Claude Code записывает файлы среды выполнения. Если вы не задали CLAUDE_CODE_TMPDIR, этот каталог:
    • Linux и WSL2: /tmp
    • macOS: /private/tmp. /tmp — это символическая ссылка на этот каталог, а Seatbelt проверяет разрешённый путь.

Разрешите сетевые домены, которые требует ваша сессия:

  • api.anthropic.com или эндпоинт вашего настроенного поставщика. У стороннего поставщика также сохраняйте api.anthropic.com: проверка безопасности домена WebFetch по-прежнему вызывает его по умолчанию, если вы не установите skipWebFetchPreflight: true.
  • claude.ai и platform.claude.com, которые требуются для входа через OAuth и обновления токена. Запуски, аутентифицированные с помощью API-ключа, могут исключить эти два домена.

На Linux и WSL2 среда выполнения применяет разрешения на запись только к путям, которые уже существуют. В свежей среде создайте пути конфигурации Claude Code перед первым запуском:

mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

Установите среду выполнения глобально, с префиксом вне всех путей, к которым вы разрешаете запись:

npm install -g @anthropic-ai/sandbox-runtime

После того как файл настроек находится на месте, запустите Claude Code через среду выполнения из каталога вашего проекта:

srt claude

Claude Code запускается внутри песочницы с границами файловой системы и сети, которые вы настроили. Та же команда srt работает для изоляции в песочнице отдельных MCP-серверов или других вспомогательных процессов.

Что среда выполнения блокирует самостоятельно

Среда выполнения блокирует записи с наивысшим риском без какой-либо конфигурации с вашей стороны:

  • denyWrite имеет приоритет над allowWrite.
  • В корне проекта среда выполнения запрещает .git/hooks, запрещает .git/config, если вы не установите filesystem.allowGitConfig: true, и запрещает .mcp.json, .claude/commands, .claude/agents и файлы запуска оболочки.
  • На macOS эти запреты проверяются при выполнении записи, поэтому они также охватывают вложенные файлы и репозитории, созданные во время сессии.
  • На Linux и WSL2 среда выполнения создает список запретов один раз при запуске. Она надежно охватывает корень проекта, выполняет поверхностное сканирование (по мере возможности) вложенных копий, которые существуют в этот момент, и не охватывает ничего, что сессия создает позже, например git init, git clone или scaffolding. Раздел mandatoryDenySearchDepth в README описывает точную семантику сканирования.
  • Если ~/.srt-settings.json не существует и вы не передаете --settings, среда выполнения все равно запускается. Она блокирует доступ в сеть и ограничивает запись встроенными путями среды выполнения, такими как /tmp/claude, ~/.npm/_logs и ~/.claude/debug. Не принимайте чистый старт как доказательство того, что ваши настройки загрузились.
  • Если файл настроек существует, но пуст, нечитаем или недействителен, среда выполнения отказывается запускаться, независимо от того, это ~/.srt-settings.json или файл, который вы передаете с --settings. Она также отказывается запускаться, если файл --settings не существует.

Ваши разрешения на запись по-прежнему включают другие пути, из которых Claude Code загружает конфигурацию, поэтому запретите их с помощью denyWrite. Изолированная сессия, которая может их записывать, может сохранять хуки, правила разрешений или MCP-серверы, которые запускаются без изоляции при следующем запуске Claude Code.

После автоматических запусков

Проверьте пути, которые вы оставили доступными для записи. На Linux и WSL2 также проверьте все, что создала сессия.

Dev containers

Dev container запускает Claude Code внутри контейнера Docker, которым управляет VS Code или совместимый редактор, с вашим проектом, смонтированным внутри. Вы можете определить свой собственный с помощью каталога .devcontainer/ в вашем репозитории.

Репозиторий claude-code публикует пример dev container с брандмауэром iptables по умолчанию deny в качестве отправной точки. Скопируйте его в ваш репозиторий и отрегулируйте список разрешений брандмауэра, базовый образ и закрепленную версию Claude Code в соответствии с вашей средой. Поскольку брандмауэр блокирует неодобренный исходящий трафик, конфигурация, подобная этой, поддерживает запуск Claude Code с --dangerously-skip-permissions для автоматической работы.

Custom container

Вы можете запустить Claude Code в любом образе контейнера Docker или OCI с вашими собственными сетевыми политиками, смонтированными томами и профилями seccomp. Это наиболее распространенный путь для организаций с существующей инфраструктурой контейнеров или CI-бегунами.

Несколько управляемых служб sandbox и удаленного выполнения могут размещать контейнер для вас. Тот же контрольный список применяется к любому контейнеру, который вы работаете: проверьте, что смонтировано с правом записи, какие учетные данные и токены доступны внутри него и какую политику исходящего трафика в сети он позволяет.

Вы можете комбинировать встроенную песочницу Bash внутри контейнера для ограничений на уровне каждой команды. Непривилегированным контейнерам требуется параметр enableWeakerNestedSandbox, описанный в разделе Bubblewrap не запускается внутри контейнера.

Virtual machine

Выделенная виртуальная машина обеспечивает самое сильное разделение, с собственным ядром и, в облачных или microVM развёртываниях, собственным виртуализированным оборудованием. Варианты включают облачные экземпляры, локальные гипервизоры и microVM, такие как Firecracker. Используйте этот подход, когда ваша политика безопасности требует разделения на уровне ядра между агентом и хостом, или когда ни один подход на уровне хоста не соответствует вашим требованиям соответствия.

Docker Sandboxes предоставляет microVM с собственным демоном Docker и синхронизацией рабочего пространства, которая может запустить Claude Code на любом хосте с установленным Docker Sandboxes. Это бесплатный автономный продукт от Docker, который не требует Docker Desktop.

Cloud sessions

Облачный сеанс запускается в изолированной виртуальной машине, управляемой Anthropic. Сетевой прокси обеспечивает список разрешений по умолчанию, и отдельный прокси хранит ваш токен GitHub вне sandbox, выдавая ограниченные учетные данные для доступа к репозиторию внутри него. Сеансы, которые ваша организация маршрутизирует в самостоятельно размещаемую среду, запускаются на инфраструктуре, которую вы предоставляете, где изоляция, контроль исходящего трафика и учетные данные git являются ответственностью вашего развертывания.

Используйте этот подход, когда вам нужна полная изоляция VM без самостоятельного предоставления инфраструктуры или когда вы делегируете задачи с устройства, на котором нет локальной среды разработки. Для этого требуется:

См. Использование Claude Code в облаке, чтобы узнать о доступности по планам и вариантах аутентификации GitHub.

Enforce isolation across an organization

Отдельные разработчики могут выбрать любой из подходов на этой странице. Что организация может обеспечить и какими инструментами, зависит от подхода:

  • Built-in Bash sandbox: единственный подход, который Claude Code обеспечивает сам. Доставьте ключи параметров sandbox через managed settings, либо как файл, управляемый вашим MDM, либо через server-managed settings на Claude.ai. См. Enforce sandboxing with managed settings для ключей для развертывания и как помешать разработчикам расширить политику.
  • Dev containers: зафиксируйте пример dev container в ваших репозиториях для стандартизации среды в команде. Это соглашение, а не граница обеспечения, потому что Claude Code не требует контейнер. Если разработчики не должны иметь возможность запустить Claude Code вне его, обеспечьте это с помощью инструментов управления устройствами вашей организации или инструментов разрешения программного обеспечения.
  • Custom containers and VMs: распределите Claude Code через одобренный образ и используйте инструменты управления устройствами вашей организации или инструменты разрешения программного обеспечения для предотвращения установки вне его.

See also

Эти страницы охватывают детали конфигурации и политики для подходов выше.

  • Sandboxing: настройте встроенный инструмент sandboxed Bash
  • Dev container: предварительно настроенный контейнер Docker для разработки
  • Безопасность: полная модель безопасности Claude Code
  • Безопасное развёртывание: руководство по изоляции для приложений Agent SDK
  • Настройки: все ключи конфигурации sandbox, включая доставку управляемых настроек