fetch, um web_search, um poster de webhook. O nome da ferramenta pode
estar na sua lista de permissão, os argumentos podem parecer limpos, e a
chamada ainda acaba postando seus dados para um host controlado por um
atacante ou puxando credenciais do endpoint de metadados 169.254.169.254. O
destino é a parte da chamada que suas regras de nome de ferramenta nunca veem.
O controle de egress de mcp fecha essa lacuna. Uma regra de egress escopa
um veredito de firewall para onde uma ferramenta alcança — um host, um IP ou
um range CIDR — de modo que o mesmo http_fetch que tem permissão para
api.openai.com é negado para todo o resto. Ele roda na superfície egress
do firewall, em cima da
avaliação por chamada pela qual cada tools/call
já passa.
Esta é uma tarefa de console. As regras de firewall vivem nas rotas
/api/workspace/firewall/*, que autenticam com o seu token de sessão/acesso
— não uma chave de relay sk-orca-…. Escrever uma regra exige o papel
Developer+.1. O que uma regra de egress controla
Uma regra normal corresponde ao nome da ferramenta e aos seus argumentos. Uma regra de egress adiciona uma terceira dimensão: o destino para o qual a chamada resolve. Você define ostage da regra como
egress e anexa uma lista egress_json de entradas de allow / deny. O motor
extrai o host de destino da chamada e só dispara a regra quando esse host
está em escopo.
As entradas são comparadas de três formas:
Hostname
Correspondência exata insensível a maiúsculas/minúsculas, ex.:
api.openai.com. Um ponto final é aparado em ambos os lados.Literal de IP
Correspondência exata contra o IP de discagem resolvido, ex.:
169.254.169.254.Range CIDR
O IP de destino — literal ou resolvido por DNS — deve cair dentro do
bloco, ex.:
10.0.0.0/8.2. Um exemplo concreto
Negue cada ferramenta com formato de fetch de alcançar o endpoint de metadados de nuvem e os ranges RFC-1918. Este é o corte canônico da perna de exfil de SSRF: um vereditodeny no stage egress, escopado por uma
denylist egress_json.
tools/call cujo destino resolve para qualquer um desses ranges volta ao
modelo como um erro de ferramenta; uma chamada a um host público que a
denylist não cobre passa adiante.
3. Permitir apenas um destino
O inverso do exemplo acima: fixe uma ferramenta de fetch em um único host sancionado e deixe odefault_verdict da política (ou um catch-all
posterior) lidar com o resto. Como este é um veredito allow, a lista
allow é o conjunto em escopo.
4. Como ela se compõe com o resto do firewall
Uma regra de egress é uma regra entre muitas em uma política de firewall de workspace. O motor percorre as regras em ordem de prioridade (a menor primeiro) e a primeira correspondência vence, então coloque um deny de egress apertado acima de qualquer allow amplo.| Veredito em uma regra de egress | Efeito |
|---|---|
deny | Bloqueia a chamada para destinos em escopo — registrado na superfície egress e retornado à ferramenta como um erro. |
audit | Registra a chamada correspondente como um evento de firewall; ainda despacha. |
allow | Permite destinos em escopo; combina com um piso default-deny. |
pending_approval e cap_cost não são aplicados na superfície egress
— egress é uma verificação de destino, não uma retenção ou um teto de gasto.
Use esses vereditos nas superfícies mcp ou inbound em vez disso. Veja a
referência de vereditos.Guard de SSRF embutido (nenhuma regra necessária)
Guard de SSRF embutido (nenhuma regra necessária)
Independentemente de qualquer regra que você escreva, o
gateway MCP valida cada endpoint de servidor e
seu IP de discagem resolvido contra uma política de SSRF — ranges de
intranet e o endereço de metadados de nuvem são recusados, e o IP é
reverificado em cada hop para derrotar DNS rebinding. Sua regra de egress
camada uma política de destino específica do workspace em cima dessa
baseline.
Regras de sequência para a cadeia de exfil
Regras de sequência para a cadeia de exfil
Um único deny de egress impede uma ferramenta de alcançar um host. Uma
regra de sequência impede a
cadeia — ex.: “leia um arquivo, depois egress dentro da janela” —
sinalizando a perna de egress apenas quando ela segue uma leitura
sensível. Esse é o quebrador da trifecta letal; o escopo de egress é o
controle por chamada.
5. Faça shadow primeiro, depois enforce
Levar um deny de egress direto para enforcement em um workspace movimentado corre o risco de quebrar uma integração legítima que você esqueceu. Duas redes de segurança:- Shadow mode. Uma política em shadow mode rebaixa cada veredito enforcing
para audit — seu deny de egress registra
[shadow] would deny …em vez de bloquear, de modo que você vê o raio de impacto antes que ele morda. - Observe mode. A configuração de workspace
firewall_observe_moderegistra chamadas não cobertas como Ferramentas Descobertas, expondo os destinos reais que seus agentes já alcançam para que você possa escrever uma lista de permissão precisa a partir de dados em vez de adivinhação.
6. Papéis e rotas
Todas as rotas de console têm escopo de workspace e autenticam com o seu token de sessão/acesso. As leituras são abertas a qualquer Member; escrever ou editar uma regra exige Developer+.| Método & path | Papel | Propósito |
|---|---|---|
GET /api/workspace/firewall/policies/:id | Member | Ler uma política e suas regras. |
POST /api/workspace/firewall/rules | Developer+ | Adicionar uma regra (defina stage: egress). |
PUT /api/workspace/firewall/rules | Developer+ | Atualizar uma regra (id no corpo). |
DELETE /api/workspace/firewall/rules/:id | Developer+ | Remover uma regra. |
POST /api/workspace/firewall/test | Developer+ | Reproduzir uma chamada de amostra contra uma política rascunho. |
Relacionados
Referência de regras de firewall
O DSL completo de regras — globs de ferramenta, matching de args, listas
de egress, sequências.
Conectar um servidor MCP
Registre um servidor para que suas chamadas de ferramenta rodem atrás do
firewall.
Lista de permissão de ferramentas MCP
Negue por padrão as ferramentas que você não aprovou explicitamente.
Exfiltração de dados
A ameaça que o controle de egress é construído para parar.
