Песочница
Песочница PRX обеспечивает изоляцию процессов и файловой системы при выполнении инструментов. Когда агент вызывает инструмент, выполняющий внешние команды, песочница гарантирует работу команды в ограниченной среде.
Бэкенды песочницы
PRX поддерживает несколько бэкендов песочницы:
| Бэкенд | Платформа | Уровень изоляции | Накладные расходы |
|---|---|---|---|
| Docker | Linux, macOS | Полная контейнеризация | Высокие |
| Bubblewrap | Linux | Пространства имён + seccomp | Низкие |
| Firejail | Linux | Пространства имён + seccomp | Низкие |
| Landlock | Linux (5.13+) | Ядерный LSM | Минимальные |
| None | Все | Без изоляции | Нет |
Конфигурация
toml
[security.sandbox]
backend = "bubblewrap"
[security.sandbox.docker]
image = "prx-sandbox:latest"
network = "none"
memory_limit = "256m"
cpu_limit = "1.0"
[security.sandbox.bubblewrap]
allow_network = false
writable_paths = ["/tmp"]
readonly_paths = ["/usr", "/lib"]Как это работает
- Агент запрашивает вызов инструмента (напр., выполнение команды оболочки)
- Движок политик проверяет, разрешён ли вызов
- Песочница оборачивает выполнение в настроенный бэкенд
- Инструмент запускается с ограниченным доступом к файловой системе и сети
- Результаты перехватываются и возвращаются агенту