Безопасность и автономность Claude Code: изолированные среды выполнения
Anthropic представила два новых инструмента на основе песочниц для Claude Code: изолированный bash-инструмент и облачная версия. В результате количество запросов на подтверждение действий снизилось на 84%.
Безопасность и автономность Claude Code: изолированные среды выполнения
В Claude Code Клод пишет, тестирует и отлаживает код вместе с вами: навигирует по кодовой базе, редактирует несколько файлов и выполняет команды для проверки результатов. Предоставление Клоду такого широкого доступа к кодовой базе и файлам сопряжено с рисками — особенно в контексте атак типа prompt injection.
Для решения этой проблемы в Claude Code появились два новых инструмента на основе изолированных сред (песочниц). Оба призваны обеспечить разработчикам более безопасное рабочее пространство, одновременно позволяя Клоду работать автономнее и с меньшим количеством запросов на подтверждение. По данным внутреннего использования, песочницы безопасно сокращают количество таких запросов на 84%. Задавая чёткие границы, в рамках которых Клод может действовать свободно, они повышают и безопасность, и самостоятельность агента.
Безопасность пользователей в Claude Code
Claude Code работает на основе модели разрешений: по умолчанию он работает в режиме только для чтения и запрашивает подтверждение перед любыми изменениями или выполнением команд. Есть исключения: безопасные команды вроде echo или cat разрешаются автоматически, однако большинство операций по-прежнему требуют явного одобрения.
Постоянные нажатия кнопки «Разрешить» замедляют цикл разработки и могут приводить к «усталости от подтверждений»: пользователи перестают внимательно следить за тем, что именно они одобряют, что в итоге снижает безопасность работы.
Для решения этой проблемы мы запустили поддержку песочниц в Claude Code.
Песочницы: более безопасный и автономный подход
Песочница создаёт заранее определённые границы, в рамках которых Клод может работать свободно, не запрашивая разрешения на каждое действие. При включённой песочнице количество запросов на подтверждение резко сокращается, а уровень безопасности возрастает.
Наш подход к изоляции построен на функциях уровня операционной системы и реализует два типа ограничений:
-
Изоляция файловой системы — гарантирует, что Клод может обращаться и вносить изменения только в определённые директории. Это особенно важно для предотвращения модификации чувствительных системных файлов скомпрометированным агентом.
-
Сетевая изоляция — гарантирует, что Клод может подключаться только к разрешённым серверам. Это предотвращает утечку конфиденциальных данных или загрузку вредоносного ПО скомпрометированным агентом.
Важно отметить, что эффективная изоляция требует одновременного применения обоих механизмов. Без сетевой изоляции скомпрометированный агент может похитить чувствительные файлы, например SSH-ключи; без изоляции файловой системы — легко выйти за пределы песочницы и получить доступ к сети. Именно совместное использование обоих подходов позволяет обеспечить более безопасный и быстрый агентный опыт для пользователей Claude Code.
Два новых инструмента на основе песочниц в Claude Code
Изолированный bash-инструмент: безопасное выполнение команд без запросов на подтверждение
Мы представляем новую среду выполнения с изоляцией, доступную в бета-версии как исследовательский превью. Она позволяет точно задать, к каким директориям и сетевым хостам может обращаться агент, без необходимости разворачивать контейнер и управлять им. Инструмент можно использовать для изоляции произвольных процессов, агентов и MCP-серверов. Он также доступен как открытый исследовательский превью.
В Claude Code мы используем эту среду для изоляции bash-инструмента, что позволяет Клоду выполнять команды в рамках заданных вами ограничений. Внутри безопасной песочницы Клод может работать более автономно и выполнять команды без запросов на подтверждение. Если Клод попытается обратиться к чему-либо за пределами песочницы, вы получите немедленное уведомление и сможете решить, разрешить это или нет.
Мы реализовали это на основе примитивов уровня ОС — Linux bubblewrap и MacOS seatbelt — для применения ограничений на уровне операционной системы. Они охватывают не только прямые взаимодействия Claude Code, но и любые скрипты, программы и дочерние процессы, запущенные командой. Как описано выше, песочница обеспечивает:
-
Изоляцию файловой системы: разрешает чтение и запись в текущую рабочую директорию, но блокирует изменение любых файлов за её пределами.
-
Сетевую изоляцию: разрешает доступ в интернет только через unix domain socket, подключённый к прокси-серверу, работающему за пределами песочницы. Этот прокси-сервер применяет ограничения на домены, к которым может подключаться процесс, и обрабатывает подтверждения пользователя для новых запрашиваемых доменов. Для повышенной безопасности поддерживается настройка прокси с произвольными правилами для исходящего трафика.
Оба компонента настраиваемы: вы можете легко разрешить или запретить доступ к конкретным путям файловой системы или доменам.
Песочница гарантирует, что даже успешная атака типа prompt injection будет полностью изолирована и не повлияет на общую безопасность пользователя. Таким образом, скомпрометированный Claude Code не сможет похитить ваши SSH-ключи или отправить данные на сервер злоумышленника.
Чтобы начать работу с этой функцией, выполните /sandbox в Claude Code и ознакомьтесь с подробностями нашей модели безопасности в документации.
Для удобства других команд, создающих безопасных агентов, мы открыли исходный код этой функции. Мы считаем, что другие разработчики должны рассмотреть возможность внедрения этой технологии в своих агентах для повышения уровня их защищённости.
Claude Code в браузере: безопасный запуск Claude Code в облаке
Сегодня мы также выпускаем Claude Code на веб-платформе, позволяющий запускать Claude Code в изолированной облачной среде. Каждая сессия Claude Code на веб-платформе выполняется в изолированной песочнице, где агент имеет полный доступ к своему серверу безопасным образом. Мы спроектировали эту песочницу так, чтобы чувствительные учётные данные (например, git-учётные данные или ключи подписи) никогда не находились внутри неё вместе с Claude Code. Таким образом, даже если код, выполняемый в песочнице, будет скомпрометирован, пользователь будет защищён от дальнейшего ущерба.
Claude Code на веб-платформе использует кастомный прокси-сервис, который прозрачно обрабатывает все git-взаимодействия. Внутри песочницы git-клиент аутентифицируется в этом сервисе с помощью специально разработанных ограниченных учётных данных. Прокси проверяет эти учётные данные и содержимое git-взаимодействия (например, убеждается, что push выполняется только в настроенную ветку), после чего прикрепляет нужный токен аутентификации перед отправкой запроса на GitHub.
Начало работы
Новый изолированный bash-инструмент и Claude Code на веб-платформе обеспечивают существенные улучшения как в плане безопасности, так и производительности для разработчиков, использующих Клода в инженерной работе.
Чтобы начать работу с этими инструментами:
-
Выполните
/sandboxв Claude и ознакомьтесь с документацией по настройке песочницы. -
Перейдите на claude.com/code, чтобы попробовать Claude Code на веб-платформе.
Если вы создаёте собственных агентов, ознакомьтесь с нашим открытым кодом изоляции и рассмотрите возможность его интеграции в свои проекты. Мы с нетерпением ждём, что вы создадите.
Чтобы узнать больше о Claude Code на веб-платформе, ознакомьтесь с нашим постом о запуске.
Благодарности
Статья написана Дэвидом Дворкеном и Оливером Уэллер-Дэвисом при участии Меган Чой, Кэтрин Ву, Молли Форверк, Алекса Искена, Кира Брэдвелла и Кевина Гарсии.