api.orcarouter.ai: default-вердикт deny плюс одно или несколько правил
allow, привязанных к tool_name_glob.
О полном языке сопоставления за этими правилами см.
Правила Firewall.
Allow-листы создаются в консоли под Security → Firewall или через
управляющие маршруты
/api/workspace/firewall/* (ваша сессия / access-токен
— не ретрансляционный ключ sk-orca-…). Только вызовы /v1/* вашего
агента используют ретрансляционный ключ. Создание или редактирование политики
— действие Developer+.1. Почему default-deny для агентов
Block-list («denyshell.exec, deny db.delete, …») всегда настолько полон,
насколько полна последняя угроза, о которой вы подумали. Allow-list
переворачивает бремя доказательства: шлюз отклоняет всё, что политика явно
не разрешает, так что неизвестный инструмент закрыт по построению.
Default-вердикт = deny
Пол политики. Когда ни одно правило не совпадает, каждый вызов
инструмента блокируется.
Allow-правила возвращают инструменты обратно
Каждое правило
allow называет инструменты, которые вы реально
используете — по точному имени или по глобу.default_verdict
политики. Так что allow-list — это просто: высокоприоритетные правила allow
для ваших реальных инструментов, с полом deny, ловящим всё остальное.
2. Один пример: allow-list инструментов исследовательского агента
Допустим, вашему агенту нужно только искать в вебе и читать из базы знаний — инструменты с именамиweb.search и kb.read. Всё остальное (shell, запись
файлов, мутации базы данных, любой инструмент, который может вызвать к жизни
prompt-injection) должно быть отклонено.
Постройте политику как default deny + два правила allow:
Создайте политику с default deny
Security → Firewall → Policies → New policy. Назовите её, оставьте
Enabled включённым и установите default-вердикт в
deny. Это
закрытый пол — см. Создание политики.Добавьте allow-правило на семейство инструментов
В редакторе правил добавьте два правила, оба
verdict = allow:priority | tool_name_glob | verdict |
|---|---|---|
10 | web.search | allow |
20 | kb.* | allow |
web.search — точное совпадение; kb.* — это префиксный глоб,
который разрешает kb.read, kb.search и любой будущий инструмент kb.*
без переписывания политики.web.search и kb.read проходят; вызов shell.exec не совпадает ни
с одним allow-правилом, попадает на пол deny и возвращается как HTTP 400
с кодом firewall_blocked на поверхности inbound — см.
как выглядит блокировка.
3. Глоб на одном экране
tool_name_glob — это маленькая, чувствительная к регистру грамматика — без
regex, линейное время. Формы, которые важны для allow-list:
| Шаблон | Разрешает |
|---|---|
web.search | Ровно этот инструмент. |
kb.* | Префикс — kb.read, kb.search (не голый kb). |
*.search | Суффикс — web.search, kb.search и голый search. |
*.tools.* | Инфикс — byo.tools.fetch и подобные. |
4. Разверните его, не сломав агента
Default-deny — это позиция, наиболее вероятно блокирующая инструмент, который вы забыли, что вам нужен. Разворачивайте поэтапно:Сначала в shadow
Сначала в shadow
Включите shadow-режим. Политика
вычисляет и логирует ровно так, как вживую, но понижает каждый deny до
audit с причиной с префиксом [shadow] would …. Прогоните реальный
трафик, затем прочитайте ленту событий.Найдите инструменты, которые вы реально вызываете
Найдите инструменты, которые вы реально вызываете
Discovered tools перечисляет каждый
инструмент, который видело рабочее пространство, помеченный covered
или gap. События «would-deny» shadow-режима плюс пробелы говорят вам
ровно, какие allow-правила вам ещё нужны.
Тестируйте до применения
Тестируйте до применения
Песочница Test прогоняет политику
вхолостую против образца вызова инструмента и возвращает вердикт,
совпавшее правило и причину — ничего не диспетчеризуется, ничего не
сохраняется. Подтвердите, что
web.search разрешает, а shell.exec
отклоняет, затем выключите shadow.Отклонённый inbound-вызов не стоит токенов модели — он блокируется до
запуска вышестоящей модели — и помечается skip-retry, так что
заблокированный инструмент не сожжёт бюджет повторов, перезаблокировавшись.
См. Вердикты.
5. Куда двигаться дальше
Блокировать конкретные инструменты
Обратное — держать пол default-allow и отклонять названные инструменты.
Проверять аргументы
Разрешить инструмент, но только с безопасными аргументами (
db.query,
но не DROP TABLE).Приоритет правил
Как first-match-wins ставит ваши allow-правила выше пола deny.
Вердикты
allow, audit, deny, sanitize, pending_approval, cap_cost.
