← На главную

Docker запустил Sandboxes — microVMs для ИИ с недокументированным API

21.05.2026 14:50 · hackernews

Docker выпустил Docker Sandboxes — решение для безопасного запуска ИИ-агентов вроде Claude, Codex и Gemini. Внешне команда docker sandbox run выглядит как обычный docker run, но под капотом работает совсем другая технология: не контейнеры, а микро-виртуальные машины (microVMs).

Почему не контейнеры? Контейнеры разделяют ядро с хостом — это быстро и легко, но небезопасно для недоверенного кода. Если злоумышленник сломает контейнер, он получит доступ к хост-системе. Индустрия сходится на том, что контейнеры плохо подходят для запуска чужого кода. МикроВМ, наоборот, дают каждому изолированное ядро — это золотой стандарт безопасности. AWS Lambda, Fly.io и большинство sandbox-провайдеров используют именно их.

Docker Sandboxes недоступны на Linux — только на macOS и Windows через встроенную в Docker Desktop виртуализацию. Изначально запускать можно только те агенты, которые есть в белом списке Docker: Claude, Codex, Gemini, Copilot, Kiro и Cagent. Свои контейнеры туда не загрузишь.

Автор статьи решил покопаться и нашёл недокументированное API. Демон sandboxd слушает на сокете ~/.docker/sandboxes/sandboxd.sock и отдаёт три эндпоинта: GET /vm, POST /vm и DELETE /vm/{vm_name}. Через curl можно создать ВМ, передав имя агента и путь к проекту. В ответ получаешь путь к отдельному Docker-сокету — у каждой microVM свой собственный демон Docker для максимальной изоляции.

Дальше классика: собираешь образ на хосте, архивируешь через docker save, загружаешь в ВМ через docker --host unix://... load и запускаешь контейнер. Сеть идёт через фильтрующий прокси на host.docker.internal:3128 — он делает MITM на HTTPS, поэтому либо отключаешь проверку TLS, либо ставишь CA-сертификат из ответа API. Тома монтируются напрямую, если пути совпадают.

На основе этого API автор собрал открытый Sandbox Agent SDK на TypeScript с поддержкой сессий, стриминга событий и работы с разными агентами через единый интерфейс. В статье есть полный bash-скрипт и примеры для curl.

API пока недокументирован и может меняться, но уже сейчас через него можно запускать любую нагрузку внутри изолированных микроВМ, а не только те агенты, которые одобрил Docker.

Читать оригинал →