tool_name_glob valutate sulla superficie mcp.
Ogni tools/call che attraversa il gateway MCP
passa attraverso la tua policy del firewall prima di
raggiungere il server reale. Quindi l’allow-list non è consultiva — una
chiamata a un tool che non hai consentito non viene mai dispacciata.
L’editing della policy è un’azione di console. Le route
/api/workspace/firewall/* si autenticano con il tuo session / access token,
non con una chiave relay sk-orca-…. Scrivere regole richiede il ruolo
Developer+; qualsiasi membro del workspace (fino a Viewer) può leggere
le policy e il feed dei tool scoperti.1. Perché un’allow-list default-deny per secure mcp tools
Una deny-list — “blocca i tool pericolosi” — fallisce nel momento in cui un server aggiunge un nuovo tool, ne rinomina uno, o connetti un secondo server. L’insieme dei tool pericolosi è aperto; l’insieme che intendevi usare è piccolo e noto. Un’allow-list inverte il default così l’ignoto viene rifiutato, non ammesso:- I nuovi tool sono negati per default. Un server che fa crescere un tool
delete_repodopo che l’hai connesso non può essere chiamato finché non lo aggiungi all’allow-list. - Lo scope è per server. Il namespace
<server>.<tool>ti lascia consentiregithub.create_issuenegando tutto il resto sottogithub.*. - Un punto di strozzatura. La stessa policy governa il server bundled e ogni server BYO dietro il gateway, così c’è un unico posto dove leggere l’allow-list.
2. I due pezzi
Un’allow-list è undefault_verdict più un insieme ordinato di regole.
default_verdict: deny
Il fallback della policy per qualsiasi
tools/call che nessuna regola
matcha. Impostalo su deny e qualsiasi cosa non hai esplicitamente
consentito è bloccata. (Accetta anche allow e audit — audit è il
default.)regole allow
Una regola per tool (o per glob). Ciascuna porta un
tool_name_glob e un
verdetto allow. Un tools/call che matcha il glob si risolve in allow
e fa il dispatch; tutto il resto ricade sul default deny.github.create_issue, shell.exec. * matcha qualsiasi tool (usalo con
parsimonia; una regola allow con * annulla l’intera allow-list). Un <server>.
iniziale dà scope al glob a un solo server.
3. Un esempio concreto
Hai connesso un servergithub e vuoi solo che gli agent leggano e aprano
issue — mai eliminare o amministrare nulla. Nella console, apri
Firewall → Policies, imposta il verdetto di default della policy su
deny, e aggiungi due regole allow:
| Ordine | tool_name_glob | Verdetto |
|---|---|---|
| 1 | github.create_issue | allow |
| 2 | github.list_issues | allow |
deny:
github.create_issue→ matcha la regola 1 → allow, fa il dispatch.github.delete_repo→ non matcha nulla → deny per default.
firewall deny: …) — la stessa forma che restituisce qualsiasi tool che
fallisce — così l’agent può adattarsi anziché andare in crash. (Sulla
superficie inbound un deny è invece un HTTP 400 con codice di errore
firewall_blocked.)
4. Stringere con gli argomenti
Un nome di tool sull’allow-list può comunque essere chiamato con argomenti errati. Restringi ulteriormente aggiungendo una clausolaargs_match
(JSONPath + un operatore come eq, contains, regex, in o cidr_match)
alla regola, o stratificando una regola deny sopra l’allow per una forma di
argomento specifica — per esempio, consenti github.create_issue ma fai deny
quando il repo target non è su una lista approvata. Vedi il
riferimento delle regole del firewall per
l’insieme completo di operatori.
sanitize redige gli argomenti di una chiamata a tool prima di inoltrare —
non tocca mai ciò che un tool restituisce. Per ritagliare il contenuto
restituito, quello è un controllo diverso; vedi
sanitizzare l’output dei tool.5. Fai il rollout in sicurezza
Fai scattare un default-deny per tutto un server in produzione e rischi di rompere un agent che dipendeva in silenzio da un tool che hai dimenticato. Due impostazioni lo rendono meno rischioso:shadow_mode — vedi i deny senza enforcing
shadow_mode — vedi i deny senza enforcing
Un flag per-policy che declassa i verdetti enforcing a
audit. Il tuo
default deny e le regole deny loggano [shadow] would deny … invece di
bloccare, così puoi validare l’allow-list contro il traffico reale prima
che morda. Leggi di più in
modalità di applicazione.observe mode — presenta i tool che hai mancato
observe mode — presenta i tool che hai mancato
Un’impostazione del workspace che logga ogni chiamata non coperta come una
lacuna nel feed dei Tool Scoperti.
Eseguila prima di scrivere l’allow-list per imparare esattamente quali tool
chiamano i tuoi agent, poi promuovi ciascuno in una regola allow esplicita.
shadow_mode e l’allow-list viene applicata.
6. Verifica che funzioni
Dopo l’enforcing, conferma che i tool negati vengano effettivamente rifiutati:- Dry-run di un
tools/callcontro la policy (Developer+) per vedere il verdetto e quale regola — o il default — l’ha prodotto, senza inviare traffico reale. Passa un nome di tool, una superficie e args di esempio; il motore li valuta e restituisce la traccia del verdetto senza registrare un evento. - Osserva gli eventi. Ogni chiamata bloccata registra un evento del firewall che un Developer+ può leggere nella console; la pagina eventi di audit copre il feed e i suoi campi.
Correlati
Connettere un MCP server
Registra un server prima di poter mettere in allow-list i suoi tool.
Firewall: MCP server
Il comportamento a runtime del gateway e i verdetti per chiamata.
Riferimento delle regole del firewall
Il DSL completo delle regole — glob, args_match, egress, sanitize.
Chiamate a tool pericolose
La minaccia che un’allow-list è costruita per contenere.
Limiti di egress
Governa dove un tool consentito può arrivare.
Guardrails vs. firewall
Quando ricorrere alla policy sui contenuti vs. alla policy sui tool.
