Твой AI-агент — бомба замедленного действия
Ты дал агенту возможность выполнять код. Он сгенерировал скрипт на Python, запустил его. Через минуту твой сервер майнит Monero. Знакомая история? В 2026-м это не паранойя, а рутина. 37% инцидентов в облаке связаны с кодом от ИИ — цифра из февральского отчёта OWASP. И она растёт.
Песочница — единственный способ спасти данные. Но какую выбрать? Docker, microVM (Firecracker, ERA) или WASM? У каждого — свой компромисс. Давай разберём на реальных примерах, а не в вакууме.
История с OpenCode в 2025-м показала: один неправильный промпт — и AI-агент превращается в бэкдор. Песочница не роскошь, а базовая гигиена.
Прежде чем нырять в детали, освежи в памяти базу: Как защитить систему от AI: практическое руководство по sandboxing для локальных LLM — там описаны три уровня изоляции.
Docker: быстро, дёшево, но дыряво
Docker — король быстрых экспериментов. Контейнер запускается за 100 мс, изоляция через namespaces и cgroups. Звучит круто. Но работает это на общем ядре хоста. Одна дыра в ядре — и песочница превращается в красивый фантик.
В 2026-м Docker без флагов безопасности — преступление. Даже с --user-namespaces и read-only rootfs ты не застрахован от атак типа Container Escape. Для AI-кода, который умеет делать syscalls, это как стеклянная дверь.
Когда Docker оправдан?
- Ты доверяешь своему агенту на 100% (спойлер: не доверяй).
- Код ограничен высокоуровневыми вызовами — только HTTP, без нативных библиотек.
- Тебе нужен максимальный performance и ты готов мониторить ядро.
Но если агент пишет SQL-запросы или парсит сеть — лучше смотреть в сторону microVM. Про разницу между подходом "in-sandbox" и "sandbox as tool" я писал в отдельной статье.
Кстати, если только начинаешь с Docker, курс "Docker с нуля" на Skillbox закроет базовые пробелы.
microVM: тяжёлая артиллерия для параноиков
Firecracker от AWS, ERA от Beeline Cloud, Cloud Hypervisor — все они дают изоляцию на уровне гипервизора. Каждая микро-ВМ грузит свою копию ядра. Время запуска — 200-500 мс против 100 мс у Docker. Но зато escape не работает: даже если код найдёт дыру в гостевом ядре, до хоста не добраться.
ERA v2.3, вышедшая в феврале 2026, специально заточена под AI-агенты. Она стартует за 50 мс — почти как Docker, но с железобетонной изоляцией через KVM. Как она устроена под капотом, разбирали в обзоре ERA и других песочниц.
Void-Box — ещё один проект на Rust, который запускает каждое задание AI-агента в собственной микро-ВМ. Время старта ~100 мс, изоляция на уровне процессора. Как настроить — в гайде Void-Box: запуск AI-агентов в микро-ВМ на Rust.
Компромисс microVM
Главный минус — сложность оркестрации. Ты не запустишь 1000 микро-ВМ на одной железке без потери памяти. Firecracker потребляет ~10 МБ на инстанс, ERA — меньше. Но если тебе нужно много быстрых изолированных сред — microVM победит.
Подробнее о сравнении gVisor, Firecracker и Docker в shell-доступе — в статье Как безопасно дать AI-агенту доступ к shell.
WASM: лёгкая песочница прямо в браузере
WebAssembly — тёмная лошадка. Он изолирует код на уровне модуля: нет доступа к системным вызовам, нет прямого доступа к памяти хоста. Запускается за микросекунды. Идеально для AI-агентов, которые работают с DOM или обрабатывают данные на клиенте.
В 2026-м WASM-песочницы стали мейнстримом. Проект Browser-use в WASM позволяет запускать браузерную автоматизацию без сервера — прямо во вкладке. Как — читай в нашей инструкции.
Но WASM не панацея. Он не даёт полного доступа к файловой системе или сети без гостевого API. Для кода, которому нужно управлять контейнерами или читать /proc, WASM бесполезен.
Когда WASM — лучший выбор
- Агент работает только с данными внутри браузера.
- Тебе нужен нулевой overhead запуска.
- Код написан на TypeScript/JavaScript и компилируется в WASM.
Для серверных нагрузок с heavy IO WASM проигрывает. Там рулят микро-ВМ.
Таблица сравнения: глазами DevOps
| Параметр | Docker (25.x) | microVM (ERA, Firecracker) | WASM |
|---|---|---|---|
| Уровень изоляции | Средний (namespace) | Высокий (гипервизор) | Высокий (модуль) |
| Время запуска | ~100 мс | 50-500 мс | 1-10 мкс |
| Совместимость с syscall | Полная (общее ядро) | Ограниченная (гостевое ядро) | Только Wasi |
| Потребление памяти | ~10 МБ | ~5-15 МБ | ~1 МБ |
| Сложность настройки | Низкая | Высокая | Средняя |
| Идеальный кейс | Доверенный код на Python/Node | Любой недоверенный код | Браузерные агенты, ETL |
Чек-лист: как не ошибиться с выбором
Перед тем как настраивать песочницу для AI-агента, пройди по пунктам:
- Определи уровень угрозы. Если агент пишет код, который потом исполняется — это HIGH. Иди в microVM.
- Оцени latency. Тебе нужен ответ быстрее 200 мс? Docker или WASM. Готов ждать 500 мс? microVM.
- Проверь доступ к API хоста. Нужен прямой доступ к GPU? Docker с GPU passthrough проще, чем VFIO в микро-ВМ.
- Не забывай про мониторинг. Любая песочница без логирования — фикция. Настраивай аудит syscall и метрики resource usage.
Подробный гайд по всем методам изоляции собрал в Полном руководстве по сэндбоксингу AI-агентов.
Типичные ошибки (и как их не допустить)
Ошибка №1: "Я запущу Docker с флагом —privileged — это же контейнер, он изолирован". Нет. —privileged даёт доступ к хостовому ядру. Ты просто притворяешься, что у тебя песочница.
Ошибка №2: "WASM — это безопасно, потому что не может делать syscall". Не может, но если у тебя баги в wasm runtime (были в Wasmtime до версии 22), возможен escape. Держи рантайм обновлённым.
Ошибка №3: "microVM слишком медленная, я лучше поставлю gVisor". gVisor даёт среднюю изоляцию, но в 2026-м у него всё ещё проблемы с совместимостью syscall (около 5% вызовов не работают). Если нужна совместимость — честная microVM.
Что дальше? Прогноз на 2027
В отрасли зреет гибрид: Docker с раннером gVisor внутри для лёгкого кода, и микро-ВМ для тяжёлого. WASM постепенно вытесняет Python в браузерных агентах — пример Browser-use в WASM это подтверждает. Но полной замены не будет.
Мой совет: не зацикливайся на одной технологии. Строй абстракцию — интерфейс песочницы, под которым может быть любой провайдер. Так ты не прогадаешь, когда выйдет что-то новое (например, пользовательские пространства на Rust).
Если хочешь глубже разобраться в настройке микро-ВМ для AI-агентов, прочти про локальный AI-кодинг с Qwen — там затронуты практические аспекты изоляции.