Руководство по интеграции
Обновлено: 2026-07-04
*Дисклеймер: Данный технический материал носит исключительно информационный характер и не является финансовой рекомендацией.*
## Как устроена безопасность ИИ-агентов с разделением ReviewerGate и SandboxPreflight?
Архитектура разделения шлюзов ReviewerGate и SandboxPreflight минимизирует риски исполнения генерируемого ИИ кода. Процесс разделен на два независимых этапа: статический анализ структуры скрипта (ReviewerGate) на уровне абстрактного синтаксического дерева и динамическое выполнение кода в изолированной песочнице (SandboxPreflight) с ограничением ресурсов. Координация модулей осуществляется через строгий JSON-контракт вердикта.
### Разделение обязанностей (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`), отслеживая реальные вызовы.
*Дисклеймер: Данный технический материал носит исключительно информационный характер и не является финансовой рекомендацией.*
## Как устроена безопасность ИИ-агентов с разделением 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`), отслеживая реальные вызовы.