api.orcarouter.ai: un verdetto di default deny più una o più regole allow
basate su un tool_name_glob. Per il
linguaggio di matching completo dietro quelle regole, vedi
Regole del Firewall.
Le allow-list si scrivono nella console sotto
Security → Firewall, o tramite le rotte di gestione
/api/workspace/firewall/* (la tua sessione / token di accesso — non una
chiave di relay sk-orca-…). Solo le chiamate /v1/* del tuo agent usano la
chiave di relay. Creare o modificare una policy è un’azione Developer+.1. Perché default-deny per gli agent
Una block-list (“negashell.exec, nega db.delete, …”) è completa solo quanto
l’ultima minaccia a cui hai pensato. Una allow-list inverte l’onere della prova:
il gateway nega tutto ciò che la policy non permette esplicitamente, quindi un
tool sconosciuto è chiuso per costruzione.
Verdetto di default = deny
Il pavimento della policy. Senza alcuna regola corrispondente, ogni chiamata
a tool viene bloccata.
Le regole di allow riammettono i tool
Ogni regola
allow nomina i tool che usi davvero — per nome esatto o per
glob.default_verdict della policy.
Quindi una allow-list è semplicemente: regole allow ad alta priorità per i tuoi
tool reali, con un pavimento deny che cattura tutto il resto.
2. Un esempio: allow-list dei tool di un agent di ricerca
Diciamo che il tuo agent deve solo cercare sul web e leggere da una knowledge base — tool chiamatiweb.search e kb.read. Tutto il resto (shell, scritture
di file, mutazioni del database, qualsiasi tool che una prompt-injection potrebbe
evocare) deve essere negato.
Costruisci la policy come default deny + due regole allow:
Crea la policy con un default deny
Security → Firewall → Policies → New policy. Nominala, lascia
Enabled attivo, e imposta il verdetto di default su
deny. Questo è
il pavimento chiuso — vedi Crea una policy.Aggiungi una regola di allow per famiglia di tool
Nell’editor delle regole aggiungi due regole, entrambe
verdict = allow:priority | tool_name_glob | verdict |
|---|---|---|
10 | web.search | allow |
20 | kb.* | allow |
web.search è un match esatto; kb.* è un glob di prefisso che consente
kb.read, kb.search e qualsiasi futuro tool kb.* senza ri-modificare
la policy.web.search e kb.read passano; una chiamata a shell.exec non
corrisponde ad alcuna regola di allow, colpisce il pavimento deny, e torna come
HTTP 400 con codice firewall_blocked sulla superficie inbound — vedi
com’è fatto un block.
3. Il glob in una schermata
tool_name_glob è una grammatica piccola e case-sensitive — niente regex, tempo
lineare. Le forme che contano per una allow-list:
| Pattern | Consente |
|---|---|
web.search | Esattamente quel tool. |
kb.* | Prefisso — kb.read, kb.search (non il nudo kb). |
*.search | Suffisso — web.search, kb.search e il nudo search. |
*.tools.* | Infisso — byo.tools.fetch e simili. |
4. Fai il rollout senza rompere il tuo agent
Default-deny è la postura più probabile a bloccare un tool che hai dimenticato di avere bisogno. Fallo per fasi:Mettilo prima in shadow
Mettilo prima in shadow
Attiva la shadow mode. La policy valuta
e logga esattamente come farebbe live, ma declassa ogni deny a
audit con la
motivazione prefissata [shadow] would …. Fai girare traffico reale, poi
leggi il feed degli eventi.Trova i tool che chiami davvero
Trova i tool che chiami davvero
Discovered tools elenca ogni tool che il
workspace ha visto, marcato covered o gap. Gli eventi “would-deny”
della shadow mode più i gap ti dicono esattamente quali regole di allow ti
servono ancora.
Testa prima di applicare
Testa prima di applicare
La sandbox Test esegue un dry-run della
policy contro una chiamata a tool di esempio e restituisce il verdetto, la
regola corrispondente e la motivazione — nulla dispatchato, nulla persistito.
Conferma che
web.search consenta e shell.exec neghi, poi disattiva lo
shadow.Una chiamata inbound negata costa zero token del modello — è bloccata prima
che il modello upstream giri — ed è marcata skip-retry, così un tool bloccato
non brucerà un budget di retry ri-bloccandosi. Vedi
Verdetti.
5. Dove andare dopo
Blocca tool specifici
L’inverso — mantieni un pavimento default-allow e nega i tool nominati.
Valida gli argomenti
Consenti un tool, ma solo con argomenti sicuri (
db.query ma non
DROP TABLE).Priorità delle regole
Come il first-match-wins ordina le tue regole di allow sopra il pavimento di deny.
Verdetti
allow, audit, deny, sanitize, pending_approval, cap_cost.
