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