Saltar para o conteúdo principal
Os guardrails filtram o texto que flui através de um modelo. O Firewall governa as ações que um agente toma — as ferramentas que ele chama, os servidores MCP que ele alcança, as skills que ele carrega e os hosts com os quais ele conversa. É o par na camada de ação dos Guardrails: mesmo escopo de workspace, mesmo modelo de vincular-uma-vez, mesma promessa de “a política vive no gateway, não na sua app”. Esta página é a visão geral conceitual e a referência de operações. Três páginas complementares cobrem as partes móveis em profundidade:

Regras

A linguagem de correspondência — globs de ferramenta, cláusulas de argumento, listas de egress, sanitizers e sequências.

Servidores MCP

Registre e governe servidores Model Context Protocol atrás de um único gateway auditado.

Skills

Escaneie e pontue o risco das capacidades que seus agentes instalam antes que elas possam rodar.

1. O que é o Firewall

Um agente de IA não apenas gera texto — ele age. Ele chama shell.exec, consulta db.query, busca uma URL, carrega uma skill da comunidade ou roteia uma chamada de ferramenta através de um servidor MCP de terceiros. Cada uma dessas é uma ação com consequências no mundo real, e os guardrails em nível de prompt não conseguem vê-las. O Firewall é uma política nomeada e com escopo de workspace que o gateway avalia em cada chamada de ferramenta. Você cria uma política uma vez, 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 — antes de chegar à ferramenta. Cada política é uma lista ordenada de regras. Uma regra decide uma coisa — a quais chamadas de ferramenta ela se aplica (um glob de nome de ferramenta, opcionalmente com escopo para uma skill e para uma superfície de enforcement) e o que fazer a respeito delas (um veredito: allow, audit, deny, sanitize, retenção para aprovação ou limite de custo). 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. Editar uma política entra em vigor em cada chave vinculada a ela já na próxima chamada. Sem redeploy. Sem mudança no código do agente. A política é aplicada no gateway — seu agente continua emitindo chamadas de ferramenta exatamente como antes.
A detecção acontece no gateway, no primeiro uso. O Firewall fica no caminho de relay do LLM, não dentro do gerenciador de pacotes ou do sistema de arquivos do seu agente. Uma ferramenta, servidor MCP ou skill que um agente autoinstala é capturada na primeira vez que sua chamada cruza o gateway — não no momento da instalação. Isso é deliberado: é o único ponto de estrangulamento que vê cada fornecedor, cada agente e cada chamada de ferramenta independentemente de como a capacidade chegou ali.

2. As quatro superfícies de enforcement

Cada chamada de ferramenta é avaliada contra exatamente uma superfície — o ponto no ciclo de vida da requisição onde o firewall a vê:
SuperfícieO que ela vê
inboundAs ferramentas que um agente anuncia ao modelo na requisição (definições de ferramenta). Permite bloquear uma ferramenta perigosa antes que o modelo sequer possa escolhê-la.
responseOs tool_calls que o modelo emite em sua resposta.
mcpUm tools/call despachado através do gateway MCP do Firewall ou avaliado via o hook do SDK.
egressUm destino de rede outbound (host / IP / CIDR) reportado por uma ferramenta — a superfície de SSRF e exfiltração de dados.
Uma regra sem stage se aplica a todas as superfícies; fixe uma regra a uma superfície quando um veredito só fizer sentido ali (ex.: uma allowlist de egress).

3. Conceitos centrais

ConceitoDefinição
PolíticaUm conjunto nomeado de regras, com escopo de workspace. Tem enabled, is_default, um default_verdict e uma flag shadow_mode.
RegraUma verificação dentro de uma política: uma prioridade, uma correspondência de tool/skill, uma superfície opcional, um predicado de argumento opcional e um veredito. Veja Regras.
VereditoA ação que uma regra (ou o padrão) produz — veja §4.
Veredito padrãoAplicado quando nenhuma regra corresponde. Um entre allow, audit (padrão) ou deny.
Shadow modeA política avalia e registra mas nunca bloqueia — todo veredito de enforcement é rebaixado para audit e o motivo recebe o prefixo [shadow] would …. Seu interruptor de rollout seguro.
Observe modeUma configuração em nível de workspace. Quando uma requisição resolve para nenhuma política e o observe mode está ligado, a chamada é permitida mas registrada como um gap de cobertura — é o que popula a visão de Ferramentas descobertas.

Escopo e resolução

As políticas resolvem exatamente como os Guardrails e as chaves de API — compartilhadas no workspace quando você tem um workspace ativo. Para qualquer chamada de ferramenta, o gateway resolve a política nesta ordem:
  1. Vínculo da chave — se a chave chamadora tem um firewall_policy_id, essa política se aplica (quando existe e está habilitada).
  2. Padrão do workspace — caso contrário, a política is_default habilitada do workspace se aplica.
  3. Nenhuma — sem enforcement. Com o observe mode ligado, a chamada é permitida e registrada como um gap; com ele desligado, a chamada é permitida silenciosamente (byte-idêntica à de um workspace que nunca habilitou o recurso).
No máximo uma política por workspace pode ser o padrão; promover um novo padrão rebaixa o antigo na mesma transação.
Fail-open no desconhecido, fail-closed no ambíguo. Se a resolução de política encontrar um erro transitório, o gateway degrada para observe/allow em vez de derrubar o tráfego. Mas onde não aplicar derrotaria a regra — um relatório de egress sem destino utilizável, um armazenamento de aprovação inalcançável, uma skill cuja propriedade não pode ser resolvida — o motor falha fechado (deny ou hold). A disponibilidade é preservada; a segurança não é silenciosamente pulada nos casos que importam.

4. Vereditos

Uma regra (ou o veredito padrão) produz um entre:
VereditoO que faz
allowDeixa a chamada passar. Registrada.
auditPermite, mas registra para revisão. O default_verdict padrão — observe tudo, bloqueie nada, até você estar pronto.
denyBloqueia a chamada. O agente vê um erro de ferramenta (ou HTTP 400 na superfície inbound).
sanitizeRedige substrings correspondentes dos argumentos da ferramenta (segredos, PII) e encaminha a chamada limpa. Veja sanitizers. Na superfície inbound — onde ainda não há argumentos em tempo de chamada — o sanitize escala para um block.
pending_approvalRetém a chamada para um humano. O agente recebe uma resposta “held”; um revisor aprova ou rejeita fora de banda; o agente reenvia com um token de aprovação de uso único. Veja §7.
cap_costNega assim que o gasto acumulado da run do agente exceder um limite por regra em centavos. Um disjuntor para loops descontrolados.
No shadow mode, deny / sanitize / pending_approval são todos rebaixados para audit para que você possa medir o impacto de uma política antes que ela altere o tráfego.

5. Como uma chamada de ferramenta é avaliada

  1. Uma chamada de ferramenta chega ao gateway (anunciada inbound, emitida em uma response, despachada através do gateway MCP, ou reportada como egress).
  2. O motor resolve a política ativa (§3).
  3. Ele percorre as regras da política em ordem de prioridade (prioridade menor primeiro; empates resolvidos pelo id da regra). Uma regra corresponde quando sua superfície, seu glob de nome de ferramenta, seu glob opcional de nome de skill, suas cláusulas de argumento opcionais e seu escopo de egress opcional todos correspondem.
  4. A primeira correspondência vence → o veredito da regra se aplica. Se nenhuma regra corresponder → o default_verdict da política.
  5. Se a chamada é de propriedade de uma skill governada, o modo de enforcement da skill é aplicado por cima — uma skill em modo block força um deny; uma skill em modo quarantine escala qualquer coisa aquém de deny para pending_approval.
  6. A decisão é registrada como um evento de firewall (a menos que seja um dry run), correlacionada à run e à sessão do agente.

6. Como é um block

Uma chamada negada na superfície inbound retorna HTTP 400 com um corpo de erro no formato da OpenAI, código de erro firewall_blocked e uma mensagem nomeando a ferramenta e o motivo — ex.: tool "shell.exec" blocked by firewall: destructive shell command. O erro carrega metadata estruturado (código de motivo, fatores de risco, score) e é marcado como skip-retry (reexecutar a mesma chamada apenas bloquearia de novo). Uma chamada despachada através do gateway MCP é bloqueada como um erro de ferramenta (firewall deny: <reason>) em vez de uma falha de transporte, de modo que o modelo vê a rejeição e pode reagir — escolher outra ferramenta, perguntar ao usuário, ou parar — em vez de quebrar. Uma chamada retida (pending_approval) retorna HTTP 400 com o código firewall_approval_pending e um id de aprovação que o cliente consulta.

7. Aprovação humana (HITL)

Um veredito pending_approval transforma uma chamada de ferramenta em uma revisão fora de banda:
  1. O motor enfileira um registro de aprovação e retorna uma resposta “held” carregando seu id; a chamada não chega à ferramenta.
  2. Um revisor a resolve — a partir do console (Developer+), ou via um callback de webhook assinado por HMAC para o seu próprio sistema de aprovação.
  3. Seu agente (ou o SDK MCP) consulta o id de aprovação; uma vez aprovado, ele reenvia a chamada original com um header X-OrcaRouter-Firewall-Approval de uso único, e o gateway a deixa passar aquela única vez.
As decisões são first-writer-wins e idempotentes. Se a regra subjacente foi editada após o hold, o enriquecimento anota rule_changed para que os revisores saibam que o contexto mudou.

8. Níveis de autonomia — um interruptor para toda a sua postura

Ajustar políticas regra por regra é o caminho preciso; os níveis de autonomia são o rápido. Um único controle substitui atomicamente a postura de Firewall e de Guardrails do seu workspace em uma transação, com desfazer em um clique:
NívelPostura
tightBloqueia shell destrutivo, segredos em argumentos e egress SSRF (default deny); guardrails PII Shield + Secrets Blocker ligados; observe mode desligado.
balancedAudita shell destrutivo, sinaliza PII; observe mode desligado. A postura inicial recomendada.
permissiveSem política de enforcement, sem guardrails; observe mode ligado para que você ainda veja tudo.
Desfazer restaura o estado anterior exato a partir do snapshot de auditoria.

9. Detecção de anomalias

Além das regras estáticas, o Firewall aprende a forma normal de uso de ferramentas de cada workspace e sinaliza desvios em um feed legível pelo viewer:
  • Picos de taxa / custo — a atividade por ferramenta é pontuada contra um baseline de hora-da-semana aprendido (uma média móvel de 14 dias), de modo que “100 chamadas db.query às 3h de domingo” se destaca mesmo se cada chamada for individualmente permitida.
  • retry_loop — um agente martelando a mesma ferramenta que falha.
  • novel_path — uma transição de ferramenta-para-ferramenta que este workspace nunca fez antes.
O feed reporta apenas nomes de ferramenta, ids de token redigidos e contagens. Você pode dar snooze em uma anomalia por até 7 dias enquanto investiga.

10. Observabilidade

O Firewall deixa um rastro sobre o qual você pode agir, todo com escopo de workspace:
SuperfícieO que ela oferece
EventsCada avaliação, filtrável por veredito, superfície, ferramenta, run e sessão. O registro bruto por trás de todo o resto.
Runs & sessionsEventos consolidados por run de agente ou conversa — breakdown de veredito, ferramentas e modelos distintos, primeiro/último visto. A visão de “o que este agente realmente fez”.
Discovered toolsCada ferramenta que o workspace viu, marcada covered (uma regra se aplica) ou gap (nenhuma se aplica). Conduz a criação de políticas a partir do tráfego real.
SimulatePré-visualize o que um nível de autonomia mudaria antes de aplicá-lo.
TestFaça um dry-run de uma política contra uma chamada de ferramenta de amostra e veja o veredito, a regra correspondente e o motivo — nada é persistido, nada é despachado.
AuditCada mudança de política, regra e configuração escreve uma linha de auditoria (workspace + central) depois que a mudança é commitada. Segredos e blobs de regra nunca são registrados.

11. Relacionamento com o resto do gateway

SuperfícieComo se compõe com o Firewall?
GuardrailsPlanos complementares. Os Guardrails filtram o texto de prompt/response; o Firewall governa as ações de ferramenta. Ambos podem se aplicar a uma requisição. Os níveis de autonomia configuram os dois de uma vez.
RoteamentoIndependente. O roteamento escolhe o modelo/canal; o firewall julga as chamadas de ferramenta independentemente de qual modelo as atendeu.
Chaves de APIUma chave se vincula a uma política via firewall_policy_id; o vínculo vive na chave dentro do gateway. Nenhum vínculo cai de volta para o padrão do workspace.
Gateway MCPO firewall é o gateway MCP — cada servidor que você registra despacha seu tools/call através do motor.
SkillsO modo de enforcement de uma skill governada anda por cima do veredito da regra, então uma skill em quarentena é retida mesmo se nenhuma regra nomear suas ferramentas.

12. Conectando um agente ao gateway do Firewall

Há duas maneiras de uma chamada de ferramenta chegar ao motor:
  • Gateway MCP — aponte seu cliente MCP (Claude Desktop, Cursor, um framework de agente) para https://api.orcarouter.ai/api/v1/firewall/mcp. O gateway expõe as ferramentas de cada servidor registrado alcançável, com namespace <server>.<tool>, e avalia cada tools/call inline. Veja Servidores MCP.
  • Hook de avaliação — chame POST /api/v1/firewall/evaluate a partir do seu próprio loop de agente antes de despachar uma chamada de ferramenta, e aja sobre o veredito.
Ambos exigem um token com escopo de firewall-gateway — uma chave de API dedicada cunhada para este fim. Uma chave normal recebe 403 nessas rotas.

13. Referência da API

Todas as rotas do console têm escopo de workspace via o contexto de workspace e aplicam RBAC de maneira consistente: leituras e os sandboxes de test/simulate são abertos a cada membro; escritas exigem Developer+.

Políticas & configurações

Método & pathPapelPropósito
GET /api/workspace/firewall/settingsMemberLê as configurações de firewall do workspace (observe mode, padrões).
PUT /api/workspace/firewall/settingsDeveloper+Atualiza configurações.
GET /api/workspace/firewall/policiesMemberLista políticas (com contagens de regra + chaves vinculadas).
GET /api/workspace/firewall/policies/:idMemberDetalhe de uma única política.
POST /api/workspace/firewall/policiesDeveloper+Cria uma política.
PUT /api/workspace/firewall/policiesDeveloper+Atualiza uma política.
DELETE /api/workspace/firewall/policies/:idDeveloper+Deleta uma política (409 se chaves ainda estiverem vinculadas).

Postura, presets & sandboxes

Método & pathPapelPropósito
GET /api/workspace/firewall/presetsMemberPresets de regra embutidos.
POST /api/workspace/firewall/autonomyDeveloper+Aplica um nível de autonomia.
POST /api/workspace/firewall/autonomy/undo/:audit_idDeveloper+Desfaz uma mudança de autonomia.
GET /api/workspace/firewall/simulateMemberPré-visualiza um nível de autonomia (?level=).
POST /api/workspace/firewall/testDeveloper+Dry-run de uma política contra uma chamada de ferramenta de amostra.

Observabilidade

Método & pathPapelPropósito
GET /api/workspace/firewall/discovered-toolsMemberFerramentas vistas, marcadas covered / gap.
GET /api/workspace/firewall/eventsDeveloper+Lista eventos de firewall (filtrável).
GET /api/workspace/firewall/events/by-request/:request_idDeveloper+Eventos de uma requisição.
GET /api/workspace/firewall/events/aggregateDeveloper+Rollup de runs / sessions.
GET /api/workspace/firewall/trace/by-runDeveloper+Nós de trace de uma run (?run_id=).
GET /api/workspace/firewall/anomaliesMemberFeed de anomalias (?window=).
POST /api/workspace/firewall/anomalies/snoozeDeveloper+Dá snooze no feed de anomalias.
Regras, servidores MCP e skills têm, cada um, seus próprios endpoints — veja Regras, Servidores MCP e Skills.

Gateway (machine-to-machine)

Estas rodam em um token com escopo de firewall-gateway, não na sessão do console:
Método & pathPropósito
POST /api/v1/firewall/evaluateVeredito pré-dispatch para uma chamada de ferramenta.
POST /api/v1/firewall/evaluate_planVerificação pré-execução para um plano de múltiplos passos.
ANY /api/v1/firewall/mcpO endpoint unificado do gateway MCP.
GET /api/v1/firewall/approvals/:idConsulta o estado de aprovação de uma chamada retida.
POST /api/v1/firewall/approvals/:id/callbackCallback de aprovação assinado por HMAC.

14. FAQ

Com o observe mode desligado, o comportamento é byte-idêntico ao de um workspace que nunca habilitou o recurso — nada é bloqueado ou registrado. Com o observe mode ligado, a chamada é permitida mas registrada como um gap de cobertura, de modo que aparece em Discovered tools.
Ligue o shadow mode. A política avalia e registra exatamente como faria em produção, mas todo veredito de enforcement é rebaixado para audit e o motivo recebe o prefixo [shadow] would …. Observe as visões de events e runs, confirme que ela dispara no que você espera e em nada que você não espera, depois desligue o shadow mode para começar a aplicar.
Um block inbound dispara antes da chamada ao modelo upstream, então não custa tokens de modelo. Vereditos audit / allow não alteram o billing. Uma regra cap_cost é, ela mesma, um controle de billing — ela nega assim que o gasto da run cruza seu limite em centavos.
Ambos, para camadas diferentes. Os Guardrails filtram o texto em prompts e respostas (PII, segredos, jailbreaks). O Firewall governa as ações que um agente toma (quais ferramentas, quais servidores MCP, quais hosts). Uma requisição pode passar por ambos. O nível de autonomia tight configura os dois juntos.
O Firewall aplica enforcement nas chamadas de ferramenta que cruzam o gateway — o caminho de relay, o gateway MCP e o hook de avaliação. Uma ferramenta que seu agente executa inteiramente dentro de seu próprio processo, nunca tocando o gateway, está fora da visão do firewall. O objetivo de design é tornar o gateway o único caminho auditado para as chamadas que importam (ferramentas mediadas por modelo, dispatch de MCP, egress de rede); roteie-as por ele e elas estão governadas.

Veja também

Aprofundando-se em segurança de agentes? Os guias Proteja seus agentes (Zero Trust) colocam este recurso em um fluxo de trabalho zero-trust.

Proteja seus agentes (Zero Trust)

O manual do firewall de agentes zero-trust — listas de permissão de ferramentas, verificações de argumentos e controle de egress.

Baseline de Agentes Seguros

Um único interruptor que define juntas as posturas do seu Firewall e dos seus Guardrails.