Reviewer Sandbox Split

ReviewerGate and SandboxPreflight Decoupled AI Security Architecture

Published: 2026-06-25 · Security

Архитектура разделения шлюзов ReviewerGate и SandboxPreflight минимизирует риски исполнения генерируемого ИИ кода. Процесс разделен на два независимых этапа: статический анализ стр

⚡ Быстрый ответ

  • Decoupling static policy review from dynamic sandbox execution (gVisor/Firecracker) using a standardized JSON Schema verdict contract.

Safety Guards

Rule Max Limit Action On Breach

Руководство по интеграции

Обновлено: 2026-07-04
*Дисклеймер: Данный технический материал носит исключительно информационный характер и не является финансовой рекомендацией.*

## Как устроена безопасность ИИ-агентов с разделением ReviewerGate и SandboxPreflight?

Архитектура разделения шлюзов ReviewerGate и SandboxPreflight минимизирует риски исполнения генерируемого ИИ кода. Процесс разделен на два независимых этапа: статический анализ структуры скрипта (ReviewerGate) на уровне абстрактного синтаксического дерева и динамическое выполнение кода в изолированной песочнице (SandboxPreflight) с ограничением ресурсов. Координация модулей осуществляется через строгий JSON-контракт вердикта.









































Ключевой уровень безопасности агентов Функциональные проверки и логика уровня Целевые среды и спецификации
1. ReviewerGate (Статика) Анализ синтаксического AST-дерева без выполнения кода, поиск опасных скрытых вызовов команд. Запрещенные функции: os.system, subprocess
2. SandboxPreflight (Динамика) Запуск скриптов в изолированной легковесной среде с ограничением прав файловой системы и сети. Контейнеризация: gVisor, Firecracker, Docker
3. JSON-Контракт Вердикта Согласование результатов проверок двух модулей по схеме ReviewerSandboxVerdictContract. Вердикт: subject_hash, reviewer, sandbox, final
4. Мониторинг сети Постоянный контроль сетевых запросов процесса песочницы, фильтрация внешних IP-адресов по белому списку. Блокировка подозрительной активности
5. Ограничение ресурсов Жесткое лимитирование и ограничение потребления оперативной памяти, времени CPU и квоты диска. Предотвращение атак типа отказ в обслуживании
6. Системные вызовы Блокировка и фильтрация низкоуровневых вызовов операционной системы через seccomp-фильтры ядра. Изоляция ядра хост-системы


### Разделение обязанностей (Separation of Concerns)
1. **ReviewerGate (Статический анализатор)**:
* Анализирует текст скрипта перед запуском без его фактического выполнения.
* Проверяет AST (абстрактное синтаксическое дерево) на запрещенные вызовы (`os.system`, `subprocess`, `rmtree`).
* Выявляет признаки обфускации и bypass-команд (скрытые shell-редиректы `>`).
* Выносит вердикт: `PASS`, `REVIEW_REQUIRED`, `DENY`.
2. **SandboxPreflight (Динамическая песочница)**:
* Запускает код в изолированной легковесной среде (gVisor / Firecracker / Docker-контейнер).
* Ограничивает доступ к файловой системе (read-only root), сети (запрет внешних запросов кроме разрешенного списка) и системным вызовам (seccomp-фильтрация).
* Мониторит поведение процесса в реальном времени, блокируя подозрительную активность.
* Выносит вердикт: `ADMIT`, `QUARANTINE`, `DENY`.

### JSON-Контракт Вердикта
Оба шлюза обмениваются структурированным вердиктом по схеме `ReviewerSandboxVerdictContract`. Контракт содержит:
* `subject`: Хеш SHA256 проверяемого скрипта/запроса.
* `reviewer`: Решение статического анализатора, список проверок и затребованные права.
* `sandbox`: Решение песочницы, профиль изоляции и фактические лимиты ресурсов.
* `final`: Итоговое решение системы (`ALLOW`, `QUARANTINE`, `DENY`) и следующее автоматическое действие.

Это позволяет снизить ложные срабатывания (false positives): если статический анализатор сомневается в коде, динамическая песочница может запустить его в режиме повышенной изоляции (`ADMIT_RESTRICTED`), отслеживая реальные вызовы.