Agent Sandboxing(Пісочниця виконання коду агентом)
Апаратна та програмна ізоляція середовища виконання автономного агента, що гарантує захист хост-системи, секретів і внутрішньої мережі від шкідливого коду та prompt injection.
1. Огляд концепції та системна проблема
Автономні агенти розкривають свій максимальний потенціал лише тоді, коли мають можливість виконувати системні команди в терміналі, писати код, встановлювати пакети та тестувати програми в реальному часі. Проте надання агенту прямого доступу до хост-системи розробника чи сервера — це критичний ризик інформаційної безпеки:
- Непередбачуваність LLM: Модель може згенерувати деструктивну команду через галюцинацію (наприклад, випадковий рекурсивний
rm -rfна невдало сформованому шляху). - Атаки непрямого Prompt Injection (Indirect Injection): Якщо агент аналізує зовнішній веб-сайт або читає сторонній GitHub-репозиторій, прихований у тексті шкідливий промпт може змусити модель зчитати файли
~/.ssh/id_rsa,.envта надіслати їх на віддалений сервер атакуючого черезcurl. - Вичерпання ресурсів хоста: Нескінченний цикл або Fork Bomb паралізують роботу всього сервера.
Agent Sandboxing усуває цей конфлікт, надаючи агенту абсолютно безпечне, ізольоване, одноразове (ephemeral) оточення.
2. Архітектурна таксономія та ментальна модель
Залежно від вимог до безпеки та швидкості старту виділяють чотири архітектурні рівні ізоляції:
- 1. Процесна ізоляція ОС (Namespaces & Cgroups, Bubblewrap): Базове розмежування файлової системи, PID та лімітів пам'яті всередині Linux. Має найшвидший запуск (<50 мс), але не захищає від експлойтів на рівні ядра.
- 2. Віртуалізація рівня ядра (gVisor / User-space Kernel): Спеціальний шар, розроблений Google, який емулює ядро Linux у користувацькому просторі. Кожен системний виклик (syscall) фільтрується і не контактує з реальним ядром хоста.
- 3. Апаратні MicroVM (AWS Firecracker, Kata Containers): Золотий стандарт хмарної безпеки. Справжня мінімалістична віртуальна машина з власним ядром Linux, яка запускається за 100–150 мс і повністю ізольована на рівні апаратного гіпервізора KVM.
- 4. WebAssembly (Wasm / WASI Runtimes): Виконання коду у внутрішньому ізольованому байткоді (наприклад, Wasmtime). Ідеально підходить для безпечного виконання JavaScript/Python без операційної системи, але має обмеження на виклики системних утиліт.
3. Технічний пайплайн та внутрішня механіка
Життєвий цикл ізольованого виконання завдання складається з 4 етапів:
- Ephemeral Provisioning (Швидке розгортання): Оркестратор створює свіжий екземпляр мікроконтейнера із заздалегідь підготовленого snapshot-образу з встановленим середовищем (Node.js, Python, Git).
- Virtual Workspace Mount & Secret Redaction (Монтування оточення): У пісочницю монтується лише робоча папка поточного проєкту. Усі реальні токени доступу (AWS keys, Production DB creds) підміняються моковими або одноразовими обмеженими токенами.
- Execution & Syscall Interception (Контрольоване виконання):
Агент надсилає команду через gRPC або WebSocket API. Драйвер пісочниці виконує команду, стримить
stdout/stderrагенту, автоматично зупиняючи виконання, якщо процес перевищив ліміт часу (Execution Timeout) або пам'яті (OOM Watchdog). - Instant Teardown & Garbage Collection (Повне очищення): Після завершення завдання весь контейнер безповоротно знищується разом з усіма тимчасовими артефактами. Жоден стан не переходить до наступного сеансу.
4. Практичні інженерні сценарії в продакшені
01. Безпечний Code Interpreter для користувачів
Сервіс дозволяє користувачам завантажувати CSV/Excel таблиці та просити агента написати Python-скрипт для складної візуалізації. Код запускається у мікроконтейнері E2B без ризику читання сусідніх файлів інших користувачів.
02. Автономне тестування сторонніх репозиторіїв та PR
Агент автоматично завантажує Pull Request, встановлює npm install та проганяє тести. Якщо в залежностях присутній шкідливий preinstall-скрипт (Supply-chain attack), атака розіб'ється об стінки пісочниці.
03. Ізольований веб-скрейпінг та браузинг
Агент використовує Headless Chromium для перегляду небезпечних сайтів у мережі. Браузер запущено в ізольованому контейнері без доступу до системного сховища паролів або корпоративного VPN.
5. Підводні камені, типові помилки та безпека
- Network Egress SSRF Leaks (Витік внутрішніх адрес): За замовчуванням контейнер може пінгувати локальну мережу хоста. Необхідно налаштувати сувору політику egress-трафіку (Network Isolation), заблокувавши доступ до
localhostта підмереж хмарних метаданих. - Дисбаланс Latency vs Security: Повноцінні віртуальні машини запускаються секундами, що дратує користувача. Використовуйте пул «підігрітих» контейнерів (Warm Pools) або технологію Forking MicroVM для миттєвого відгуку.
- Resource Starvation (Fork Bombs): Агент або скрипт може нескінченно плодити процеси (
:(){ :|:& };:). Завжди жорстко лімітуйте максимальну кількість процесів (pids_limit) та пам'ять (mem_limit).
FAQ: Agent Sandboxing
Пов'язані терміни
VPS Hardening (Харденінг та безпека Linux VPS)
Системний процес конфігурації та зменшення поверхні атаки (Attack Surface Reduction) операційної системи Linux на віртуальному сервері через обмеження привілеїв, криптографічну ізоляцію та мережевий аудит.
Docker для агентів та ботів (Container Sandboxing)
Методологія ізоляції автономних ШІ-агентів, інтерпретаторів коду та фонових сервісів у легковагових пісочницях Docker за допомогою cgroups та просторів імен (Namespaces) для запобігання пошкодженню хостової ОС.
Guardrails & Safety Rails
Програмний шар детермінованих фільтрів, валідаторів схем і політик безпеки, що перехоплює вхідні промпти, системні команди та відповіді моделей для запобігання збоям, витокам і експлойтам.
Human-in-the-Loop (HITL)
Фундаментальний патерн безпеки та архітектури, за якого автономне виконання процесів переривається на визначених контрольних точках для обов'язкової людської експертизи, верифікації та затвердження.