shell.exec,
consulta um banco de dados, busca uma URL, despacha uma ferramenta através de
um servidor MCP. Cada uma dessas é uma ação no mundo real que os
guardrails em nível de prompt não
conseguem ver. O agent firewall é o plano da camada de ação que as
governa: uma política nomeada e com escopo de workspace que o gateway avalia
em cada chamada de ferramenta, antes de ela chegar à ferramenta.
Esta página é o hub da seção Firewall — o modelo de política, os vereditos, as
superfícies e como uma política se vincula a uma chave. Cada ramo aprofunda, e
a referência completa do motor vive em
Firewall e Regras do Firewall.
1. O que o agent firewall faz
Você cria uma política uma vez no console do seu workspace, vincula uma chave de API a ela (ou define uma como padrão do workspace), e a partir daí cada chamada de ferramenta que essa chave emite é verificada contra a política no gateway. Sem redeploy, sem mudança no código do agente — seu agente continua emitindo chamadas de ferramenta exatamente como antes, e editar a política entra em vigor na próxima chamada para cada chave vinculada a ela. Uma política é uma lista ordenada de regras. Cada regra decide a quais chamadas de ferramenta ela se aplica e o que fazer a respeito delas. O motor percorre as regras em ordem de prioridade, a primeira correspondência vence, e cai de volta para o veredito padrão da política se nada corresponder.A detecção acontece no gateway, no primeiro uso — não no momento da instalação.
Uma ferramenta, servidor MCP ou skill que um agente autoinstala é capturada na
primeira vez que sua chamada cruza o gateway. Esse é o único ponto de
estrangulamento que vê cada fornecedor, cada agente e cada chamada de
ferramenta independentemente de como a capacidade chegou ali.
2. Um exemplo concreto
Suponha que você queira bloquear comandos shell destrutivos mas deixar todo o resto passar sob audit. No console você cria uma política comdefault_verdict = audit e uma regra:
args_match_json é uma string codificada em JSON (o gateway a valida
contra o schema de cláusula ao salvar): path é um JSONPath dentro dos
argumentos da chamada, op é um entre eq, contains, regex, in,
cidr_match, gt, lt.
Vincule uma chave à política (defina firewall_policy_id na chave). Agora,
quando um agente emite shell.exec com command: "rm -rf /", o gateway
retorna HTTP 400 com o código de erro firewall_blocked e um motivo
nomeando a ferramenta — e a chamada nunca chega ao shell. Toda outra chamada
de ferramenta é permitida e registrada para revisão.
3. Política, regras e resolução
Uma política tem escopo de workspace e é nomeada, comenabled,
is_default, um default_verdict (allow / audit / deny, padrão
audit) e uma flag shadow_mode. Uma regra é uma verificação dentro dela
— veja Criar uma política e
Schema de regra.
Para qualquer chamada de ferramenta o gateway resolve a política ativa em
ordem:
- Vínculo da chave — o
firewall_policy_idda chave chamadora, quando essa política existe e está habilitada. - Padrão do workspace — caso contrário, a política
is_defaulthabilitada.
firewall_observe_mode do workspace: com o observe mode ligado, a chamada
é permitida mas registrada como um gap de cobertura (ela aparece em
Discovered Tools); com ele desligado, a chamada é permitida silenciosamente.
4. Vereditos
Uma regra — ou o padrão — produz um entre:| Veredito | O que faz |
|---|---|
allow | Deixa passar, registrado. |
audit | Permite + registra para revisão. O padrão usual. |
deny | Bloqueia. HTTP 400 firewall_blocked no inbound; erro de ferramenta no MCP. |
sanitize | Redige substrings correspondentes dos argumentos da ferramenta e encaminha. |
pending_approval | Retém para um humano; HTTP 400 firewall_approval_pending. |
cap_cost | Nega assim que o gasto da run cruzar um limite por regra. |
sanitize redige apenas os argumentos da chamada — nunca o
conteúdo que uma ferramenta retorna. Na superfície inbound, onde ainda não há
argumentos em tempo de chamada, o sanitize escala para um block. Veja
Vereditos e
Sanitizar respostas.
5. As quatro superfícies de enforcement
Cada chamada de ferramenta é avaliada contra exatamente uma superfície — fixe uma regra a uma com o campostage, ou deixe-o vazio para aplicar a
todas.
inbound
As ferramentas que um agente anuncia ao modelo na requisição. Bloqueie uma
ferramenta perigosa antes que o modelo sequer possa escolhê-la.
response
Os
tool_calls que o modelo emite em sua resposta.mcp
Um
tools/call despachado através do gateway MCP. Veja
Servidores MCP.egress
Um host / IP / CIDR outbound que uma ferramenta alcança — a superfície de
SSRF e exfiltração de dados.
6. Correspondência
As regras expressam a quais chamadas de ferramenta capturam com um vocabulário pequeno e determinístico que é seguro no hot path:Globs de nome de ferramenta e skill
Globs de nome de ferramenta e skill
Um glob case-sensitive no nome da ferramenta (
shell.*, *.delete),
opcionalmente combinado com AND a um glob na skill proprietária. Veja
Sintaxe de glob e
Allow-listing de ferramentas.Cláusulas de argumento
Cláusulas de argumento
Predicados JSONPath sobre os argumentos da chamada com os operadores
eq,
contains, regex, in, cidr_match, gt, lt — a diferença entre
“bloquear shell.exec” e “bloqueá-lo apenas quando o comando for
rm -rf”. As cláusulas falham fechadas (a regra, não a requisição). Veja
Validar argumentos.Listas de egress
Listas de egress
Listas de allow e deny de host / IP / CIDR na superfície
egress. Você
pode criar sua própria regra de deny para faixas de cloud-metadata ou
RFC-1918. Veja Controle de egress.Sequências e limites de custo
Sequências e limites de custo
Uma regra
sequence corresponde a uma cadeia ordenada de chamadas ao longo
de uma janela (aplicada reativamente); uma regra cap_cost nega assim que o
gasto acumulado de uma run do agente cruzar um teto em centavos. Veja
Regras de sequência e
Limite de custo.7. Aprovação humana, autonomia e anomalias
- Human-in-the-loop. Um veredito
pending_approvalretém a chamada e retorna seu id de aprovação. Um revisor a resolve no console (Developer+) ou via um callback de webhook assinado por HMAC; o agente consulta e reenvia com um headerX-OrcaRouter-Firewall-Approvalde uso único. Veja Aprovações e Webhook de aprovação. - Níveis de autonomia. Um interruptor define toda a sua postura:
tight(default-deny + nega shell destrutivo + nega ferramentas com formato de fetch (http_fetch/web_search/fetch_url/request, o vetor de SSRF) + PII Shield + Secrets Blocker aplicados),balanced(audit por padrão, nega shell destrutivo, PII Shield apenas-audit) oupermissive(apenas observe). Cada um escreve linhas reais e editáveis de política e guardrail, com desfazer em um clique a partir do snapshot de auditoria. - Detecção de anomalias. Além das regras estáticas, o firewall pontua o uso
de ferramentas contra um baseline de hora-da-semana aprendido (14 dias) e
sinaliza picos de taxa/custo,
retry_loopenovel_pathnum feed legível por Member no qual você pode dar snooze por até 7 dias.
8. Onde o firewall se encaixa
O firewall é o par na camada de ação de dois planos adjacentes:| Plano | Governa | Quando recorrer a ele |
|---|---|---|
| Guardrails | Texto de prompt e response | PII, segredos, jailbreaks, intenção de injeção |
| Agent firewall | Ações de ferramenta | Quais ferramentas, chamadas MCP, hosts e custo |
| Compliance | Evidência e frameworks | Prontidão para SOC 2 / HIPAA / EU AI Act |
9. Vinculando e conectando
Uma política se vincula a uma chave viafirewall_policy_id (configurado no
console; o vínculo vive na chave dentro do gateway). Duas maneiras de uma
chamada de ferramenta chegar ao motor, ambas exigindo uma chave com escopo de
firewall-gateway (is_firewall_gateway = true) — uma chave de relay normal
recebe 403 nessas rotas:
- Gateway MCP — aponte seu cliente MCP para o endpoint unificado
ANY /api/v1/firewall/mcp; cadatools/callé avaliado inline. Veja Servidores MCP. - Hook de avaliação — chame
POST /api/v1/firewall/evaluate(ou/evaluate_planpara um plano de múltiplos passos) a partir do seu próprio loop de agente antes de despachar, e aja sobre o veredito.
/api/workspace/firewall/*. Leituras de políticas, configurações, ferramentas
descobertas, o simulador de autonomia somente-leitura e o feed de anomalias são
abertas a cada membro do workspace; o sandbox dry-run de Test, o log de
Events / Runs e todas as escritas exigem Developer+. Veja
Chaves de gateway e
Testar regras.
10. Ameaças que este plano endereça
Chamadas de ferramenta perigosas
Nega shell destrutivo, drops de DB e verbos arriscados por glob + args.
Exfiltração de dados
Listas de egress e regras de sequência ler-depois-exportar.
Envenenamento de ferramenta MCP
Avaliação por chamada na superfície
mcp antes do dispatch.Agência excessiva
Aprovações, limites de custo e postura default-deny.
Próximos passos
Criar uma política
Crie sua primeira política e regra.
Vereditos
O que cada veredito faz na prática.
Log de events
Leia o que o firewall decidiu e por quê.
