Песочница для AI-агентов: Docker, microVM или WASM? Сравнение 2026 | AiManual
AiManual Logo Ai / Manual.
21 Июн 2026 Гайд

AI-агент написал код. Ты уверен, что он не уничтожит твою систему? Песочница: Docker, microVM или WASM

Сравнение Docker, microVM и WASM для безопасного выполнения кода AI-агентов. Какой подход выбрать в 2026 году? Практические советы и подводные камни.

Реклама
cliv1

Твой 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-агента, пройди по пунктам:

  1. Определи уровень угрозы. Если агент пишет код, который потом исполняется — это HIGH. Иди в microVM.
  2. Оцени latency. Тебе нужен ответ быстрее 200 мс? Docker или WASM. Готов ждать 500 мс? microVM.
  3. Проверь доступ к API хоста. Нужен прямой доступ к GPU? Docker с GPU passthrough проще, чем VFIO в микро-ВМ.
  4. Не забывай про мониторинг. Любая песочница без логирования — фикция. Настраивай аудит 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 — там затронуты практические аспекты изоляции.

Подписаться на канал