Системный журнал — практичная база знаний по VPS и Linux
docker • 12 минут

Изоляция AI-агентов с помощью Docker Sandbox: безопасные workflows и повторно используемые среды

С появлением инструментов, способных не только предлагать код, но и выполнять его в терминале, устанавливать зависимости и менять файлы проекта, роль искусственного интеллекта в разработке сместилась от пассивного помощника к активному участнику workflow. Это открывает новые возможности продуктивности, но одновременно ставит перед разработчиками вопрос о безопасности выполнения сгенерированного кода на своих машинах.

Почему изоляция становится обязательной

AI‑агенты работают probabilistically: даже самые надёжные модели могут ошибочно интерпретировать запрос и сгенерировать опасную команду. Примеры включают рекурсивное удаление файлов, утечку учётных данных, установку вредоносных пакетов или неожиданное изменение конфигурации. В традиционной схеме разработчик сам контролирует каждое действие, тогда как с AI‑агентом он лишь наблюдает за выполнением команд, порождённых моделью. Поэтому необходима чёткая граница между хост‑системой и средой, где агент исполняет свой код.

Изоляция решает несколько задач одновременно:

  • предотвращает случайное повреждение файловой системы хоста;
  • ограничивает доступ к сетевым ресурсам и внешним API;
  • снижает риск сохранения вредоносных изменений после завершения работы агента;
  • защищает чувствительные данные, такие как ключи и токены, от прямого попадания в песочницу.

Как Docker SBX обеспечивает защищённую среду

Docker Sandbox (sbx) построен на основе микровиртуальных машин, что даёт уровень изоляции выше, чем у обычных контейнеров, использующих общее ядро хоста. Микровиру. Это особенно важно для AI‑workload, где агент может выполнять недоверенный код, обращаться к внешним репозиториям и динамически формировать команды.

Архитектура sbx включает следующие компоненты:

  • изолированная VM, в которой запускается AI‑агент;
  • прокси‑слой, через который проходят все исходящие запросы;
  • механизм, при котором реальные учётные данные остаются на хосте, а внутри песочницы используется заполнитель‑ sentinel; прокси подставляет настоящий заголовок авторизации непосредственно перед отправкой запроса наружу.

Таким образом, даже если агент попытается вывести секрет наружу, он получит только заполнитель, а реальный токен никогда не окажется внутри VM.

Управление учётными данными через прокси

Одной из ключевых особенностей sbx является способ обработкой. Документация указывает, что при запуске агента внутри песочницы в переменных окружения или конфигурационных файлах находится специальный прокси передовой практик в Docker SBX является разделение секретов и исполняемой среды. При работе с API, облачными сервисами или внутренними сервисами агент получает доступ к учётным данным через прокси. Прокси принимает запрос от агента, подменяет placeholder‑значение на реальный секрет и передаёт запрос дальше. Это гарантирует, что секрет не сохраняется в образе песочницы, не попадает в логи и не может быть извлечён вредоносным кодом, запущенным внутри VM.

Sandbox Kits: превращение изоляции в практический инструмент

Изоляция сама по себе полезна, но для повседневной работы нужна возможность быстро воспроизводить одинаково настроенные среды. Для этого в Docker SBX предусмотрены Sandbox Kits — декларативные описания, которые упаковывают набор инструментов, переменных окружения, файлов, правил сети и инструкций для агента в один переиспользуемый артефакт.

Kit применяется во время запуска sandbox и Docker SBX гарантирует выполнение всех указанных правил в runtime, а не полагается на ручную настройку. Это делает среды предсказуемыми и упрощает совместную работу команд.

Типы Kits

Документация выделяет два вида Kits:

  • Mixin Kits — расширяют уже существующего агента дополнительными возможностями: установка линтеров, внедрение общих конфигурационных файлов, предоставление доступа к одобренным внешним сервисам, добавление внутренними. Их можно комбинировать, накладывая несколько слоя sandbox.
  • струкций workflow. Их можно накладывать несколько одновременно, постепенно enriching окружение.

  • Agent Kits — описывают полностью самостоятельную среду с нуля: базовый образ, точка входа агента, сетевая политика, настройка учётных данных, параметры persistence и стартовые скрипты. Подходят для создания внутренних агентов или специализированных workflow, которые нужно распространять между командами.

Практический пример использования

Допустим, команда хочет обеспечить каждый запуск AI‑агента одинаковым набором линтеров, доступ к внутреннему реестру через прокси‑учётные данные и загрузку общих конфигурационных файлов. Для этого достаточно создать Mixin Kit, который:

  • устанавливает golangci-lint и shellcheck;
  • прокидывает переменную INTERNAL_REGISTRY_TOKEN через прокси;
  • монтирует файл shared-config.yaml в рабочую директорию песочницы.

Затем агент запускается одной командой:

sbx run claude --kit ./internal-dev-kit/

При этом:

  • реальный токен реестра никогда не попадает внутрь VM;
  • все сетевые запросы проходят через проверенный прокси, который ограничивает домены только одобренными сервисами;
  • файлы и инструменты, указанные в Kit, доступны агенту сразу после старта.

Преимущества для команд и отдельных разработчиков

Использование Docker SBX вместе с Sandbox Kits даёт следующие выгоды:

  • Снижение риска случайного повреждения рабочей станции или сервера;
  • Возможность версионировать среды так как все потенциально опасные действия остаются изолированными;
  • Единый способ распределения настроек между разработчиками, что уменьшает «работает у меня» проблемы;
  • Простота аудита: все переменные, сетевые правила и файлы явно описаны в Kit;
  • Совместимость с основными ОС разработчика (Linux, macOS, Windows) без необходимости устанавливать полный Docker Desktop.

Заключение

По мере того как AI‑агенты становятся более автономными, инфраструктурный уровень безопасности приобретает такое же значение, как и качество самих моделей. Docker SBX предлагает продуманную модель изоляции на базе микровиртуальных машин, защищённую передачу учётных данных через прокси и механизм Sandbox Kits, позволяющий превращать эти защитные меры в повторяемые, condivisible артефакты. Для команд, работающих в Linux‑окружении, на VPS или локальных рабочих станциях, такой подход помогает сохранить продуктивность, не exposing host‑системе лишних рисков.