Перейти к основному содержанию
Большинство команд тянутся к безопасности агентов слишком поздно и по одной плоскости за раз — regex на промптах здесь, deny-list инструментов там. Результат — позиция с дырами: проверка текста, которая никогда не видит shell.exec, или firewall инструментов, который никогда не замечает номер кредитной карты, уходящий в промпте. Самый быстрый путь к полному базовому уровню безопасности агентов — задать обе плоскости сразу. Контроль автономии OrcaRouter — базовый уровень Secure Agents — делает ровно это: единственный переключатель уровня рабочего пространства, который пишет политику firewall и guardrail вместе, в одной транзакции, с отменой в один клик. Вы не создаёте правило, чтобы получить защиту; вы выбираете уровень и настраиваете позже.
Две плоскости взаимодополняющие, не избыточные. Guardrails проверяют текст промпта/ответа (PII, секреты, намерение jailbreak и инъекции); firewall управляет действиями, которые совершает агент (какие инструменты, MCP-вызовы и хосты). Любая одна оставляет пробел, который закрывает другая — см. Guardrails против Firewall.

1. Почему один базовый уровень бьёт две полумеры

Реальный прогон агента пересекает обе плоскости в одном запросе. Модель читает промпт (текст), решает вызвать db.query (действие), и результат инструмента возвращается в следующий ход (снова текст). Защита только одной плоскости оставляет другую неохраняемой:

Только firewall

Вы отклоняете деструктивный shell, но промпт всё равно несёт SSN клиента прямо к модели — а аргумент инструмента всё равно утекает API-ключ.

Только guardrails

Вы маскируете PII в промптах, но агент всё равно вызывает rm -rf, достигает endpoint cloud-metadata или зацикливается на убегающем инструменте.
Контроль автономии убирает выбор. Один уровень задаёт согласованную позицию поперёк обеих плоскостей, так что нет окна, где одна настроена, а другая — нет.

2. Базовый уровень безопасности агентов: три уровня

Каждый уровень покрывает те же две плоскости. Выберите один; это ваш пол, и вы добавляете точность правилами позже.
УровеньFirewallGuardrailsObserve-режим
tightDefault-deny; деструктивный shell + инструменты в форме извлечения отклоненыPII Shield + Secrets Blocker примененыВыкл
balancedDefault-audit; деструктивный shell отклонёнPII Shield в audit-only (флагирует PII)Выкл
permissiveНет применяющей политикиНетВкл — логирует каждый вызов как пробел
Несколько специфик, которые стоит зафиксировать, поскольку они формируют то, что каждый уровень реально ловит:
tight штампует default-вердикт политики firewall в deny, затем наслаивает deny-правила для имён shell/exec инструментов, которые несут деструктивные команды — shell.*, bash, cmd, powershell, exec — и для имён инструментов в форме извлечения, которые несут SSRF — http_fetch, web_search, fetch_url, request (и их MCP-варианты с пространством имён <server>.*). Он отклоняет эти имена инструментов; он не поставляет CIDR или egress-правило cloud-metadata. Если вы хотите отклонить 169.254.169.254 или диапазоны RFC-1918 по назначению, создайте собственное egress-правило — см. Контроль egress.
Оба guardrail PII Shield и Secrets Blocker активны и применяют. PII Shield маскирует PII в запросе до того, как он достигнет модели; Secrets Blocker ловит учётные данные в запросе. Секреты в аргументах инструмента ловятся этим guardrail на запросе — firewall не удаляет их по умолчанию.
balanced аудирует всё (default-вердикт audit), так что вы видите реальное поведение вашего агента, при этом всё равно отклоняя единственный самый деструктивный класс — деструктивный shell. PII Shield работает в режиме audit-only (флагирует PII, не блокирует). Вы получаете полный след почти без риска неожиданной блокировки, затем ужесточаете от видимости, а не от догадок.
permissive применяет ничего — он существует, чтобы наблюдать совершенно нового агента с нулевым риском случайных блокировок. Observe-режим остаётся включённым, так что каждый вызов инструмента всё равно логируется как пробел покрытия (видим в Discovered Tools). Используйте его, чтобы изучить форму агента, затем переходите к balanced или tight.

3. Один конкретный пример: примените balanced, наблюдайте обе ленты

Применение уровня — единственное консольное действие (Firewall → Posture) или один вызов API. Маршрут выполняется под вашей сессией и требует Developer+.
# Configure in the console, or POST under your session token (Developer+):
POST /api/workspace/firewall/autonomy
Content-Type: application/json

{ "level": "balanced" }
Ответ несёт audit_id — сохраните его; это то, что вы передаёте для отмены. Будучи применён, базовый уровень живой на следующем вызове инструмента. Без передеплоя, без изменений в коде агента. Теперь вы наблюдаете обе плоскости сразу:
  • Firewall → Events — каждый вердикт вызова инструмента (audit, отклонённые вызовы деструктивного shell). См. Журнал событий.
  • Guardrails → Matches — каждое попадание content-политики (флаги PII Shield).
Поскольку balanced пишет реальную, редактируемую политику firewall и реальный guardrail (каждый назван по уровню), вы можете открыть любой потом и настроить его — базовый уровень — это стартовая точка, а не запертый пресет.
Предпросмотрите до фиксации. GET /api/workspace/firewall/simulate?level=tight (Member, read-only) показывает ровно, что tight изменил бы против вашего текущего состояния — ничего не применяется. Запустите его после дня-двух на balanced, чтобы подтвердить, что tight не отклонит вызовы, которые часть вашего нормального трафика.

4. Отмена — это один вызов

Каждое изменение автономии обратимо из своего снимка аудита, восстанавливая точное предыдущее состояние — политики, правила, guardrails и настройки — не обобщённый сброс.
# Developer+; :audit_id is the value returned when you applied the level.
POST /api/workspace/firewall/autonomy/undo/:audit_id
Для очень большого рабочего пространства, чей снимок превышает лимит размера журнала аудита, применение всё равно проходит, но отмена в один клик недоступна для этого изменения — вы переприменяете нужный уровень вместо этого. Это редко, но стоит знать, прежде чем ужесточать загруженное production-пространство.

5. Рекомендуемый путь

Начните широко, наблюдайте, затем ужесточайте с позиции видимости:
1

Примените balanced

Полный аудит-трейл; отклонён только деструктивный shell; PII флагируется. Запускайте своих агентов нормально день-два.
2

Симулируйте tight

GET /api/workspace/firewall/simulate?level=tight и сравните его deny с тем, что реально показала лента Events. Если вызовы в форме извлечения или деструктивного shell — часть вашего нормального потока, сначала исправьте агента.
3

Примените tight

Как только simulate не таит сюрпризов, переключитесь на tight. Отмена в одном вызове, если production сломается.
4

Настройте правилами

Базовый уровень — ваш пол. Вырежьте исключения или добавьте контроли, которые он не покрывает, правилами firewall и именованными guardrails. Привяжите конкретную политику или guardrail к отдельному ключу для более тонкой области.

6. Роли для комбинированного базового уровня

Контроль автономии охватывает обе плоскости, но каждое действие ограничено ролью.
ДействиеМинимальная роль
Симулировать уровень / просмотреть guardrail Matches / просмотреть Discovered ToolsMember
Просмотреть firewall Events и RunsDeveloper+
Применить уровень автономииDeveloper+
Отменить изменение автономииDeveloper+
Вся конфигурация выполняется в консоли под вашей сессией (/api/workspace/firewall/* и /api/guardrail/*). Только ретрансляционные вызовы /v1/* используют ключ sk-orca-…; маршруты ключа шлюза — отдельная область. См. Область: ключи, политики, рабочие пространства.

7. После базового уровня: где настраивать каждую плоскость

Базовый уровень даёт вам защиту за первые 30 минут. Дальше у каждой плоскости свой справочник для работы над точностью:

Обзор Firewall

Вердикты, поверхности, предикаты аргументов, подтверждения — плоскость действий.

Guardrails

Правила keyword, regex, PII, llm_judge и grounding — плоскость содержимого.

Shadow-режим

Разверните ужесточённую политику firewall в audit-only до применения.

Базовый уровень Secure Agents

Концептуальная страница контроля автономии и его семантики отмены.
Базовый уровень — это пол, который закрывает обе плоскости сразу; правила — то, чем вы поднимаете потолок. См. Защиту ИИ-агентов и стек управления о том, как слои компонуются, и Избыточную автономию об угрозе, на которую этот базовый уровень отвечает наиболее прямо.