Обзор
Claude Code имеет встроенную изоляцию в песочнице для обеспечения более безопасной среды выполнения агентов, одновременно снижая необходимость в постоянных запросах разрешений. Вместо того чтобы запрашивать разрешение для каждой команды bash, изоляция в песочнице создает определенные границы заранее, где Claude Code может работать более свободно с меньшим риском. Инструмент sandboxed bash использует примитивы уровня ОС для обеспечения как изоляции файловой системы, так и изоляции сети.Почему изоляция в песочнице важна
Традиционная безопасность на основе разрешений требует постоянного одобрения пользователя для команд bash. Хотя это обеспечивает контроль, это может привести к:- Усталости от одобрения: Повторное нажатие кнопки “одобрить” может привести к тому, что пользователи будут меньше внимания уделять тому, что они одобряют
- Снижению производительности: Постоянные прерывания замедляют рабочие процессы разработки
- Ограниченной автономии: Claude Code не может работать эффективно, когда ждет одобрений
- Определению четких границ: Укажите точно, какие каталоги и сетевые хосты может использовать Claude Code
- Снижению запросов разрешений: Безопасные команды в песочнице не требуют одобрения
- Сохранению безопасности: Попытки доступа к ресурсам вне песочницы вызывают немедленные уведомления
- Обеспечению автономии: Claude Code может работать более независимо в определенных пределах
Как это работает
Изоляция файловой системы
Инструмент sandboxed bash ограничивает доступ к файловой системе определенными каталогами:- Поведение записи по умолчанию: Доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам
- Поведение чтения по умолчанию: Доступ на чтение ко всему компьютеру, кроме определенных запрещенных каталогов
- Заблокированный доступ: Невозможно изменять файлы вне текущего рабочего каталога без явного разрешения
- Настраиваемо: Определите пользовательские разрешенные и запрещенные пути через параметры
Изоляция сети
Доступ в сеть контролируется через прокси-сервер, работающий вне песочницы:- Ограничения по доменам: Доступ возможен только к одобренным доменам
- Подтверждение пользователем: Новые запросы доменов вызывают запросы разрешений
- Поддержка пользовательского прокси: Продвинутые пользователи могут реализовать пользовательские правила для исходящего трафика
- Полное покрытие: Ограничения применяются ко всем скриптам, программам и подпроцессам, порожденным командами
Применение на уровне ОС
Инструмент sandboxed bash использует примитивы безопасности операционной системы:- Linux: Использует bubblewrap для изоляции
- macOS: Использует Seatbelt для применения песочницы
Начало работы
Включение изоляции в песочнице
Вы можете включить изоляцию в песочнице, запустив команду/sandbox:
Настройка изоляции в песочнице
Настройте поведение песочницы через ваш файл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 sockets, которые они разрешают через песочницу. - Повышение привилегий разрешений файловой системы: Чрезмерно широкие разрешения на запись в файловую систему могут включить атаки повышения привилегий. Разрешение записи в каталоги, содержащие исполняемые файлы в
$PATH, каталоги конфигурации системы или файлы конфигурации оболочки пользователя (.bashrc,.zshrc) может привести к выполнению кода в разных контекстах безопасности, когда другие пользователи или системные процессы получают доступ к этим файлам. - Сила Linux Sandbox: Реализация Linux обеспечивает сильную изоляцию файловой системы и сети, но включает режим
enableWeakerNestedSandbox, который позволяет ей работать внутри окружений Docker без привилегированных пространств имен. Этот параметр значительно ослабляет безопасность и должен использоваться только в случаях, когда дополнительная изоляция иным образом применяется.
Продвинутое использование
Пользовательская конфигурация прокси
Для организаций, требующих продвинутой сетевой безопасности, вы можете реализовать пользовательский прокси для:- Расшифровки и проверки трафика HTTPS
- Применения пользовательских правил фильтрации
- Логирования всех сетевых запросов
- Интеграции с существующей инфраструктурой безопасности
Интеграция с существующими инструментами безопасности
Инструмент sandboxed bash работает вместе с:- Политиками IAM: Комбинируйте с параметрами разрешений для защиты в глубину
- Контейнерами разработки: Используйте с devcontainers для дополнительной изоляции
- Корпоративными политиками: Применяйте конфигурации песочницы через управляемые параметры
Лучшие практики
- Начните с ограничений: Начните с минимальных разрешений и расширяйте по мере необходимости
- Мониторьте логи: Проверьте попытки нарушения песочницы, чтобы понять потребности Claude Code
- Используйте конфигурации для конкретной среды: Различные правила песочницы для контекстов разработки и производства
- Комбинируйте с разрешениями: Используйте изоляцию в песочнице вместе с политиками IAM для комплексной безопасности
- Протестируйте конфигурации: Проверьте, что ваши параметры песочницы не блокируют законные рабочие процессы
Открытый исходный код
Среда выполнения песочницы доступна как пакет npm с открытым исходным кодом для использования в ваших собственных проектах агентов. Это позволяет более широкому сообществу AI агентов создавать более безопасные и защищенные автономные системы. Это также может использоваться для изоляции других программ, которые вы можете захотеть запустить. Например, для изоляции MCP сервера вы можете запустить:Ограничения
- Накладные расходы производительности: Минимальные, но некоторые операции файловой системы могут быть немного медленнее
- Совместимость: Некоторые инструменты, требующие определенных паттернов доступа к системе, могут потребовать корректировок конфигурации или даже могут потребовать запуска вне песочницы
- Поддержка платформ: В настоящее время поддерживает Linux и macOS; поддержка Windows планируется
Смотрите также
- Безопасность - Комплексные функции безопасности и лучшие практики
- IAM - Конфигурация разрешений и контроль доступа
- Параметры - Полный справочник по конфигурации
- Справочник CLI - Параметры командной строки, включая
-sb