Sandboxing for agents в 2026 полезно понимать не как "запустили код в контейнере", а как систему ограничения blast radius. Агентный run нужно проектировать так, чтобы даже ошибочный или вредный шаг не мог незаметно выйти за допустимые границы: прочитать лишние данные, сходить во внешний интернет, испортить рабочее дерево, отправить запрос в прод или записать секреты в trace.
Особенно это важно для двух классов систем:
Когда агент работает с реальными инструментами, ошибка проявляется не только как плохой ответ. Она может означать:
Поэтому sandbox полезно проектировать вокруг вопроса:
какой максимальный ущерб возможен, если агент ошибётся на этом шаге?
Именно этот вопрос задаёт реальные границы среды.
Одна из самых недооценённых границ.
Практический baseline:
~, системным путям и credential directories;Это особенно важно для coding agents. Если агент может свободно ходить по всему хосту, любой shell step получает непропорционально большую власть.
Большинство агентных задач не требует unrestricted internet.
Полезные режимы:
Именно network boundary часто отделяет harmless experiment от настоящего security incident.
Секреты полезно делить на три класса:
Плохие практики:
.ssh или cloud credentials в sandbox.Хорошие практики:
Даже в сильном sandbox есть опасные действия:
git push;Именно поэтому sandboxing тесно связан с:
Сам sandbox не заменяет этих слоёв, но делает их enforceable.
Полезно логировать:
Но опасно логировать без фильтра:
Нужен компромисс: достаточно данных для incident review, но не бесконечное складирование sensitive material.
Старый state переезжает между run-ами и делает поведение непредсказуемым.
Все агенты и все разработчики фактически работают от одного identity.
Есть контейнер, но нет allow-lists, no-go commands и approval boundaries.
У incident review есть всё, кроме privacy discipline.
Файлы, токены и скачанные артефакты живут дольше, чем нужно.
Минимальный sandbox dashboard обычно включает:
Если таких сигналов нет, команда обычно узнаёт о слабой изоляции уже после инцидента.