deny, vinculado a uma chave — e a partir daí o
gateway recusa essa ferramenta em cada chamada, sem mudança no código do seu
agente.
Esta página cobre o caso de uso de deny-list e a única decisão que ele força:
em qual superfície você bloqueia — as ferramentas que você anuncia
(inbound) ou as chamadas de ferramenta que o modelo emite (response).
Para o vocabulário de correspondência completo e a semântica de veredito, veja
Schema de regra e
Vereditos.
1. Bloquear uma chamada de ferramenta que um agente de IA faz
Uma regra de deny-list é a coisa mais simples que uma política de firewall pode expressar: corresponda a uma ferramenta por nome, retornedeny. Use-a quando
uma ferramenta nunca deve disparar para uma dada chave — shell.exec,
*.delete, um plugin da comunidade em que você não confia — independentemente
dos argumentos.
No console do seu workspace, abra uma política (ou
crie uma) e adicione uma regra:
tool_name_glob é um glob pequeno e case-sensitive — shell.* captura
uma família inteira, *.delete captura um verbo através de servidores, *
captura tudo. Nenhuma cláusula de argumento é necessária: um glob puro + deny
bloqueia a ferramenta incondicionalmente. Adicione uma
cláusula de argumento apenas quando
quiser permitir a ferramenta em geral mas negar uma forma de chamada.
2. Inbound vs response: escolha a superfície
Um deny pode aterrissar em dois pontos diferentes do ciclo de vida da requisição, e a diferença importa. Fixe a regra com o campostage, ou
deixe-o vazio para cobrir ambos.
inbound
As ferramentas que seu agente anuncia ao modelo na requisição (as
definições de ferramenta). Um deny aqui remove a ferramenta antes que o
modelo sequer possa escolhê-la — o modelo nunca a vê como opção.
response
Os
tool_calls que o modelo emite em sua resposta. Um deny aqui captura
a chamada que o modelo já decidiu fazer, antes que ela chegue à ferramenta.inbound quando quiser que uma ferramenta seja invisível — o modelo
não pode chamar o que nunca lhe foi oferecido, então você evita turnos
desperdiçados onde ele escolhe uma ferramenta só para ser recusado. Use
response (ou deixe stage vazio) quando a ferramenta legitimamente
aparece em algumas requisições e você quer capturar a chamada emitida real, ou
quando você só controla o loop do agente e não o conjunto de ferramentas
anunciado.
Uma regra sem
stage se aplica a todas as superfícies — o mesmo deny
cobre uma ferramenta independentemente de ela ser anunciada, emitida ou
despachada através de MCP. Esse é o padrão de
cinto-e-suspensórios; fixe uma superfície apenas quando um deny deva ter escopo
para uma. Veja Stages.3. Vincule a política e veja-a disparar
Uma política não faz nada até que uma chave resolva para ela. Vincule no console definindofirewall_policy_id na chave, ou
torne a política o padrão do workspace. A resolução é: a política vinculada da
chave (quando ela existe e está habilitada), senão o padrão do workspace. (Uma
política vinculada desabilitada cai de volta para o padrão — veja
Gerenciar políticas.)
Uma vez vinculada, uma chamada negada na superfície inbound retorna HTTP
400 com o código de erro firewall_blocked e um motivo nomeando a ferramenta
— ex.: tool "shell.exec" blocked by firewall. O erro é marcado como
skip-retry (reexecutar a chamada idêntica apenas bloquearia de novo) e não
custa tokens de modelo, já que um block inbound dispara antes da chamada
upstream. Um deny despachado através do gateway MCP
aparece como um erro de ferramenta em vez disso, de modo que o modelo vê a
rejeição e pode reagir.
4. Deny é um entre vários vereditos
Deny é a ferramenta mais contundente na deny-list. Quando um block rígido é demais, o mesmo glob pode carregar um veredito mais suave:| Veredito | Quando usar em vez de deny |
|---|---|
audit | Você quer ver a ferramenta disparar mas não bloqueá-la ainda. |
sanitize | A ferramenta está ok mas seus argumentos podem carregar segredos/PII — redige args, nunca resultados de ferramenta. |
pending_approval | Um humano deve aprovar cada chamada fora de banda. |
cap_cost | Permite até o gasto de uma run de agente cruzar um limite em centavos. |
deny. Para uma postura
de allow-list (negar tudo, permitir um conjunto nomeado) alterne o
default_verdict da política para deny e adicione regras de allow estreitas —
veja Allow-listing de ferramentas.
5. Faça o rollout com segurança
Dry-run antes de depender dele
Dry-run antes de depender dele
A aba Test do console faz dry-run de uma política contra uma chamada de
ferramenta de amostra e retorna o veredito, a regra correspondente e o
motivo — nada é despachado, nada é persistido. Confirme que seu glob
corresponde à ferramenta que você pretendia (e apenas essa ferramenta)
antes de vincular uma chave. Veja
Testar regras.
Shadow mode para uma medição ao vivo
Shadow mode para uma medição ao vivo
Ligue o shadow mode na política e cada
veredito de enforcement — incluindo seu deny — é rebaixado para
audit,
motivo prefixado [shadow] would …. Você mede exatamente o que o deny
bloquearia contra o tráfego real, depois desliga o shadow para aplicar.Encontre os nomes de ferramenta a partir do tráfego real
Encontre os nomes de ferramenta a partir do tráfego real
Não tem certeza do nome exato da ferramenta para fazer glob? A visão de
Discovered Tools lista cada ferramenta que o workspace viu, marcada
covered ou gap. Crie seu deny direto a partir dos nomes que de fato
apareceram. Veja Analytics.
Confirme o block no log de events
Confirme o block no log de events
Cada avaliação escreve um evento de firewall com o veredito, a superfície, a
ferramenta e a regra correspondente. Depois de aplicar, filtre o
log de events por veredito
deny para
ver a regra disparando nas chamadas que você esperava.6. Quem pode fazer o quê
Toda a configuração de deny-list roda no console sob sua sessão (/api/workspace/firewall/*):
| Ação | Papel |
|---|---|
| Ler políticas, presets, ferramentas descobertas, Simulate | Member |
| Dry-run de uma política (Test) | Developer+ |
| Criar / editar / deletar regras e políticas | Developer+ |
| Ler o log de events e agregados de run | Developer+ |
Relacionados
Sintaxe de glob
Exatamente como
shell.*, *.exec e *.shell.* correspondem.Allow-listing de ferramentas
A postura inversa: default-deny, permitir um conjunto nomeado.
Validar argumentos
Negue apenas uma forma de chamada, não a ferramenta inteira.
Chamadas de ferramenta perigosas
A ameaça que uma deny-list endereça.
Vereditos
O que o deny e seus irmãos mais suaves fazem na prática.
Referência do Firewall
A referência completa de regra + correspondência.
