Загрузка...

Блог

Песочница: изолированный запуск Python в чате

Песочница: изолированный запуск Python в чате

Генерация кода в чате и исполнение на сервере — разные риски. 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, timeoutShell, Node, произвольная сеть
Bind-mount только папки сессииПолный агент с пакетами pip
Rate limit и auditgVisor / nsjail как альтернатива Docker

Практики применения

  • Включайте песочницу только на контурах, где Docker контролируется вами.
  • Не монтируйте секреты в volume песочницы; держите workdir отдельно от uploads.
  • Считайте вывод недоверенным: проверяйте скрипты перед запуском в проде.

Безопасность и границы песочницы

Изолированный запуск Python нужен, когда ответ чата содержит код, который вы хотите проверить на примере, не трогая продакшен. Песочница ограничивает окружение: нет произвольного доступа к вашей инфраструктуре, срок жизни сессии конечен. Это дополнение к RAG, а не замена code review.

Когда использовать

  • Быстрая проверка фрагмента из runbook или статьи библиотеки.
  • Обучение: «покажи на маленьком примере, как работает этот API».
  • Черновик скрипта перед переносом в репозиторий команды.

Не загружайте в чат секреты и персональные данные ради «теста». Для production-скриптов используйте свой CI; песочница Adminica — про понимание и локальную проверку логики.

Квоты и поддержка

Лимиты песочницы зависят от тарифа и контура развёртывания. Если запуск часто обрывается по таймауту, упростите пример или разбейте задачу на два сообщения. Логи ошибок в мониторинге помогают отличить запрещённую операцию от багa в вашем скрипте.

Итог: песочница — осознанный opt-in с Docker-изоляцией; генерация кода без флага по-прежнему не исполняется на сервере.