Обзор
Claude Code имеет встроенную изоляцию в песочнице для обеспечения более безопасной среды выполнения агентов, одновременно снижая необходимость в постоянных запросах разрешений. Вместо запроса разрешения для каждой команды bash, изоляция в песочнице создает определенные границы заранее, где Claude Code может работать более свободно с меньшим риском. Инструмент bash в песочнице использует примитивы уровня ОС для обеспечения как изоляции файловой системы, так и изоляции сети.Почему изоляция в песочнице важна
Традиционная безопасность на основе разрешений требует постоянного одобрения пользователя для команд bash. Хотя это обеспечивает контроль, это может привести к:- Усталости от одобрения: Повторное нажатие кнопки “одобрить” может привести к тому, что пользователи будут меньше внимания уделять тому, что они одобряют
- Снижению производительности: Постоянные прерывания замедляют рабочие процессы разработки
- Ограниченной автономии: Claude Code не может работать эффективно при ожидании одобрений
- Определения четких границ: Укажите точно, к каким каталогам и сетевым хостам Claude Code может получить доступ
- Снижения запросов разрешений: Безопасные команды в песочнице не требуют одобрения
- Поддержания безопасности: Попытки доступа к ресурсам вне песочницы вызывают немедленные уведомления
- Обеспечения автономии: Claude Code может работать более независимо в определенных пределах
Как это работает
Изоляция файловой системы
Инструмент bash в песочнице ограничивает доступ к файловой системе определенными каталогами:- Поведение записи по умолчанию: Доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам
- Поведение чтения по умолчанию: Доступ на чтение ко всему компьютеру, кроме определенных запрещенных каталогов
- Заблокированный доступ: Невозможно изменять файлы вне текущего рабочего каталога без явного разрешения
- Настраиваемо: Определите пользовательские разрешенные и запрещенные пути через параметры
Изоляция сети
Доступ в сеть контролируется через прокси-сервер, работающий вне песочницы:- Ограничения домена: Доступ возможен только к одобренным доменам
- Подтверждение пользователя: Новые запросы домена вызывают запросы разрешений
- Поддержка пользовательского прокси: Продвинутые пользователи могут реализовать пользовательские правила для исходящего трафика
- Полное покрытие: Ограничения применяются ко всем скриптам, программам и подпроцессам, порожденным командами
Принудительное применение на уровне ОС
Инструмент bash в песочнице использует примитивы безопасности операционной системы:- Linux: Использует bubblewrap для изоляции
- macOS: Использует Seatbelt для принудительного применения песочницы
Начало работы
Включение изоляции в песочнице
Вы можете включить изоляцию в песочнице, выполнив команду/sandbox:
Режимы песочницы
Claude Code предлагает два режима песочницы: Режим автоматического разрешения: Команды bash будут пытаться выполняться внутри песочницы и автоматически разрешаются без требования разрешения. Команды, которые не могут быть помещены в песочницу (такие как те, которым требуется доступ в сеть к неразрешенным хостам), возвращаются к обычному потоку разрешений. Явные правила разрешения/отклонения, которые вы настроили, всегда соблюдаются. Режим обычных разрешений: Все команды bash проходят через стандартный поток разрешений, даже если они находятся в песочнице. Это обеспечивает больший контроль, но требует больше одобрений. В обоих режимах песочница применяет одни и те же ограничения файловой системы и сети. Разница только в том, автоматически ли разрешаются команды в песочнице или требуют явного разрешения.Режим автоматического разрешения работает независимо от параметра режима разрешений. Даже если вы не находитесь в режиме “принять правки”, команды bash в песочнице будут выполняться автоматически при включенном автоматическом разрешении. Это означает, что команды bash, которые изменяют файлы в границах песочницы, будут выполняться без запроса, даже если инструменты редактирования файлов обычно требуют одобрения.
Настройка изоляции в песочнице
Настройте поведение песочницы через файлsettings.json. См. Параметры для полного справочника конфигурации.
Claude Code включает намеренный механизм выхода, который позволяет командам выполняться вне песочницы при необходимости. Когда команда не выполняется из-за ограничений песочницы (таких как проблемы с сетевым подключением или несовместимые инструменты), Claude получает запрос на анализ сбоя и может повторить команду с параметром
dangerouslyDisableSandbox. Команды, которые используют этот параметр, проходят через обычный поток разрешений Claude Code, требующий разрешения пользователя на выполнение. Это позволяет Claude Code обрабатывать граничные случаи, когда определенные инструменты или сетевые операции не могут функционировать в рамках ограничений песочницы.Вы можете отключить этот механизм выхода, установив "allowUnsandboxedCommands": false в параметрах песочницы. При отключении параметр dangerouslyDisableSandbox полностью игнорируется и все команды должны выполняться в песочнице или быть явно указаны в excludedCommands.Преимущества безопасности
Защита от инъекции подсказок
Даже если злоумышленник успешно манипулирует поведением Claude Code через инъекцию подсказок, песочница гарантирует, что ваша система остается в безопасности: Защита файловой системы:- Невозможно изменять критические файлы конфигурации, такие как
~/.bashrc - Невозможно изменять файлы уровня системы в
/bin/ - Невозможно читать файлы, которые запрещены в параметрах разрешений Claude
- Невозможно утечь данные на серверы, контролируемые злоумышленником
- Невозможно загружать вредоносные скрипты с неавторизованных доменов
- Невозможно делать неожиданные вызовы API к неодобренным сервисам
- Невозможно контактировать с доменами, которые не явно разрешены
- Все попытки доступа вне песочницы блокируются на уровне ОС
- Вы получаете немедленные уведомления при проверке границ
- Вы можете выбрать отклонение, разрешение один раз или постоянное обновление конфигурации
Сокращенная поверхность атаки
Изоляция в песочнице ограничивает потенциальный ущерб от:- Вредоносных зависимостей: Пакетов NPM или других зависимостей с вредоносным кодом
- Скомпрометированных скриптов: Скриптов сборки или инструментов с уязвимостями безопасности
- Социальной инженерии: Атак, которые обманывают пользователей, заставляя их выполнять опасные команды
- Инъекции подсказок: Атак, которые обманывают Claude, заставляя его выполнять опасные команды
Прозрачная работа
Когда Claude Code пытается получить доступ к сетевым ресурсам вне песочницы:- Операция блокируется на уровне ОС
- Вы получаете немедленное уведомление
- Вы можете выбрать:
- Отклонить запрос
- Разрешить один раз
- Обновить конфигурацию песочницы, чтобы постоянно разрешить это
Ограничения безопасности
- Ограничения сетевой изоляции: Система фильтрации сети работает путем ограничения доменов, к которым процессы могут подключаться. Она не проверяет трафик, проходящий через прокси, и пользователи несут ответственность за обеспечение того, чтобы они разрешали только доверенные домены в своей политике.
- Повышение привилегий через Unix Sockets: Конфигурация
allowUnixSocketsможет случайно предоставить доступ к мощным системным сервисам, которые могут привести к обходам песочницы. Например, если она используется для разрешения доступа к/var/run/docker.sock, это фактически предоставит доступ к хост-системе путем эксплуатации сокета docker. Пользователям рекомендуется тщательно рассмотреть любые unix сокеты, которые они разрешают через песочницу. - Повышение привилегий файловой системы: Чрезмерно широкие разрешения на запись в файловую систему могут включить атаки повышения привилегий. Разрешение записи в каталоги, содержащие исполняемые файлы в
$PATH, каталоги конфигурации системы или файлы конфигурации оболочки пользователя (.bashrc,.zshrc) может привести к выполнению кода в разных контекстах безопасности, когда другие пользователи или системные процессы получают доступ к этим файлам. - Сила Linux Sandbox: Реализация Linux обеспечивает сильную изоляцию файловой системы и сети, но включает режим
enableWeakerNestedSandbox, который позволяет ей работать внутри окружений Docker без привилегированных пространств имен. Этот параметр значительно ослабляет безопасность и должен использоваться только в случаях, когда дополнительная изоляция иным образом применяется.
Продвинутое использование
Пользовательская конфигурация прокси
Для организаций, требующих продвинутой сетевой безопасности, вы можете реализовать пользовательский прокси для:- Расшифровки и проверки трафика HTTPS
- Применения пользовательских правил фильтрации
- Логирования всех сетевых запросов
- Интеграции с существующей инфраструктурой безопасности
Интеграция с существующими инструментами безопасности
Инструмент bash в песочнице работает вместе с:- Политиками IAM: Объедините с параметрами разрешений для защиты в глубину
- Контейнерами разработки: Используйте с devcontainers для дополнительной изоляции
- Корпоративными политиками: Применяйте конфигурации песочницы через управляемые параметры
Лучшие практики
- Начните с ограничений: Начните с минимальных разрешений и расширяйте по мере необходимости
- Мониторьте журналы: Просмотрите попытки нарушения песочницы, чтобы понять потребности Claude Code
- Используйте конфигурации для конкретной среды: Различные правила песочницы для контекстов разработки и производства
- Объедините с разрешениями: Используйте изоляцию в песочнице вместе с политиками IAM для комплексной безопасности
- Протестируйте конфигурации: Проверьте, что параметры песочницы не блокируют законные рабочие процессы
Открытый исходный код
Среда выполнения песочницы доступна как пакет npm с открытым исходным кодом для использования в ваших собственных проектах агентов. Это позволяет более широкому сообществу AI агентов создавать более безопасные и защищенные автономные системы. Это также можно использовать для изоляции других программ, которые вы можете захотеть запустить. Например, для изоляции MCP сервера вы можете запустить:Ограничения
- Накладные расходы производительности: Минимальные, но некоторые операции файловой системы могут быть немного медленнее
- Совместимость: Некоторые инструменты, которые требуют определенных шаблонов доступа к системе, могут потребовать корректировки конфигурации или даже могут потребовать запуска вне песочницы
- Поддержка платформ: В настоящее время поддерживает Linux и macOS; поддержка Windows планируется
См. также
- Безопасность - Комплексные функции безопасности и лучшие практики
- IAM - Конфигурация разрешений и контроль доступа
- Параметры - Полный справочник конфигурации
- Справочник CLI - Параметры командной строки, включая
-sb