Генерация кода в чате и исполнение на сервере — разные риски. Adminica по умолчанию только показывает примеры; запуск доступен как opt-in песочница с изоляцией Docker.
Зачем изоляция
Скрипт пользователя не должен видеть секреты API, чужие uploads и внутреннюю сеть. Поэтому песочница не вызывает exec в процессе воркера: только контейнер с отключённой сетью и лимитами CPU/RAM/процессов.
Как включить (self-hosted)
На SaaS флаг выключен. На своём контуре: SANDBOX_AGENT_ENABLED=true, Docker CLI с доступом к daemon, образ SANDBOX_DOCKER_IMAGE (по умолчанию python:3.12-slim). В каталоге навыков появится «Песочница (Python)»; у блоков python — кнопка «Выполнить».
Границы MVP
| Есть | Пока нет |
|---|---|
| Python, stdout/stderr, timeout | Shell, Node, произвольная сеть |
| Bind-mount только папки сессии | Полный агент с пакетами pip |
| Rate limit и audit | gVisor / nsjail как альтернатива Docker |
Практики применения
- Включайте песочницу только на контурах, где Docker контролируется вами.
- Не монтируйте секреты в volume песочницы; держите workdir отдельно от uploads.
- Считайте вывод недоверенным: проверяйте скрипты перед запуском в проде.
Безопасность и границы песочницы
Изолированный запуск Python нужен, когда ответ чата содержит код, который вы хотите проверить на примере, не трогая продакшен. Песочница ограничивает окружение: нет произвольного доступа к вашей инфраструктуре, срок жизни сессии конечен. Это дополнение к RAG, а не замена code review.
Когда использовать
- Быстрая проверка фрагмента из runbook или статьи библиотеки.
- Обучение: «покажи на маленьком примере, как работает этот API».
- Черновик скрипта перед переносом в репозиторий команды.
Не загружайте в чат секреты и персональные данные ради «теста». Для production-скриптов используйте свой CI; песочница Adminica — про понимание и локальную проверку логики.
Квоты и поддержка
Лимиты песочницы зависят от тарифа и контура развёртывания. Если запуск часто обрывается по таймауту, упростите пример или разбейте задачу на два сообщения. Логи ошибок в мониторинге помогают отличить запрещённую операцию от багa в вашем скрипте.
Итог: песочница — осознанный opt-in с Docker-изоляцией; генерация кода без флага по-прежнему не исполняется на сервере.