Для этого используются Docker Sandboxes: агент получает отдельную microVM со своим kernel, filesystem, network stack и даже приватным Docker daemon. Внутри он может иметь root, запускать shell-команды, контейнеры и Testcontainers, но наружу доступ остаётся ограниченным.
В демо агент:
— запускается на GitHub-hosted runner
— заходит в Docker Sandbox
— поднимает PostgreSQL через Testcontainers
— находит специально добавленный баг
— пишет regression test
— исправляет код
— прогоняет тесты
— создаёт draft pull request
Самое интересное здесь — модель изоляции.
Агенту можно дать почти полную свободу внутри sandbox, но оставить небольшой blast radius снаружи: allowlist для сети, ограниченные permissions и разрешение менять только конкретные директории вроде
src/**.То есть вместо идеи «AI-агенту нельзя давать shell» получается более практичный подход:
дай ему shell, Docker и sudo, но запри всё это в одноразовой microVM.
https://www.docker.com/blog/running-ai-agents-in-github-actions-with-docker-sandboxes/


