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