Google Cloud представила управляемый сервис GKE Agent Sandbox, в то время как open-source проект kubernetes-sigs/agent-sandbox предоставляет ту же возможность любому кластеру Kubernetes. Оба решения предоставляют разработчикам одноразовый Linux-контейнер для ИИ-агентов, не затрагивая остальную инфраструктуру.
Почему коду, созданному ИИ, нужна «песочница»
Современные ИИ-агенты не просто отвечают на вопросы. Они пишут скрипты, просматривают веб-страницы, выполняют shell-команды и даже запускают веб-сервисы. Такая мощь создает брешь в безопасности: код, который они выдают, может быть с ошибками, вредоносным или чрезмерно агрессивным. Агент, который выполнит rm -rf / или подключится к внутренней базе данных без разрешения, может скомпрометировать всю систему.
Песочница изолирует каждого агента в собственном контейнере — крошечной, одноразовой виртуальной машине. Если агент поведет себя неправильно, ущерб останется внутри этого контейнера; хост и другие рабочие нагрузки останутся в безопасности. Новое предложение GKE и проект, поддерживаемый сообществом, превращают эту идею в готовый к использованию сервис.
Два способа получить песочницу
- GKE Agent Sandbox — полностью управляемый сервис для клиентов Google Cloud.
kubernetes-sigs/agent-sandbox— open-source проект для любого кластера Kubernetes.
Оба решения имеют общую базовую архитектуру, построенную на стандартных примитивах Kubernetes.
Как устроена система
| Компонент | Роль |
|---|---|
| Sandbox | Изолированный контейнер, в котором выполняется код агента. Он имеет стабильное имя и, при необходимости, постоянное хранилище. |
| SandboxTemplate | Шаблон, определяющий образ контейнера и политики безопасности — «рецепт» для создания новых песочниц. |
| SandboxClaim | Запрос, отправляемый агентом (или его контроллером) для развертывания песочницы по конкретному шаблону. |
| SandboxWarmPool | Пул заранее созданных песочниц, готовых к мгновенной выдаче. Поддержание контейнеров в «горячем» состоянии позволяет избежать задержек, связанных с загрузкой образов и запуском нового пода каждый раз. |
Когда агенту требуется среда, он отправляет SandboxClaim. Контроллер проверяет теплый пул (warm pool), выбирает свободную песочницу и привязывает ее к запросу. Если пул пуст, создается новая песочница по шаблону; в противном случае передача происходит за миллисекунды.
Настройки безопасности, которыми можно управлять
- Default-deny networking — По умолчанию песочница не имеет доступа к внутренней сети. Вам необходимо добавить явные правила для разрешения исходящих или входящих соединений, что предотвращает случайное раскрытие внутренних сервисов.
- Уровни изоляции — Выберите среду выполнения контейнеров (container runtime), соответствующую вашему уровню допустимого риска:
- Стандартные контейнеры для скорости,
- gVisor для дополнительного уровня изоляции в пользовательском пространстве (user-space), или
- Kata Containers для изоляции с аппаратной поддержкой, которая работает как легковесная виртуальная машина.
- SDK — Клиентские библиотеки на Python и Go позволяют разработчикам программно создавать, запрашивать и удалять песочницы, что вписывается в рабочий процесс конвейеров (pipelines) на базе ИИ.
Кому это выгодно, а кто может быть против
Итог
Предоставление ИИ-агентам собственного одноразового Linux-окружения устраняет главный фактор неопределенности в автоматизации на базе ИИ: риск того, что сгенерированный код разрушит хост. Управляемый сервис GKE Agent Sandbox от Google Cloud и проект kubernetes-sigs/agent-sandbox, поддерживаемый сообществом, делают такую изоляцию практичной как для облачных (cloud-native), так и для локальных (on-prem) сред. Организации, которым необходимо соблюдать баланс между гибкостью и безопасностью, теперь имеют конкретный, нативный для Kubernetes инструмент, позволяющий держать код, созданный ИИ, в безопасной «песочнице».
