inbound no tiene destino que
verificar; una cláusula de argumentos en inbound aún no tiene argumentos
en tiempo de llamada.
Esta página es la guía enfocada a las cuatro etapas del agent firewall: qué
observa cada superficie, cuándo una regla debería apuntar a ella y la forma
concreta en que la misma intención se expresa en etapas diferentes. Para el
vocabulario de reglas completo, ver
Reglas del Firewall; para el modelo de
política a su alrededor, Firewall.
1. Las cuatro etapas de un vistazo
Cada evaluación se sella con exactamente una etapa. Una regla sin etapa ("") aplica a todas ellas; una regla fijada a una etapa solo se
dispara ahí.
| Etapa | Qué ve la superficie |
|---|---|
inbound | Las herramientas que el agente anuncia en la solicitud |
response | Los tool_calls que el modelo emite en su respuesta |
mcp | Un tools/call despachado a través del gateway MCP |
egress | Un host / IP / CIDR saliente que una herramienta alcanza |
stage al
autorar a través de la API.
La etapa gobierna qué datos están en alcance, no qué tan estricto es el
veredicto. Un
deny es un deny en cualquier etapa; lo que cambia es si
la regla tiene los argumentos, el nombre de herramienta o el destino que
necesita para coincidir.2. inbound — las herramientas que un agente anuncia
La superficie más temprana. Antes de que el modelo siquiera se ejecute, tu
agente envía una lista de definiciones de herramienta que está dispuesto a
dejar que el modelo llame. La etapa inbound ve ese conjunto de
herramientas anunciado y puede bloquear una herramienta peligrosa antes de
que el modelo pueda siquiera elegirla.
No hay argumentos en tiempo de llamada en esta etapa — el modelo aún no ha
decidido cómo llamar a nada — así que las reglas inbound coinciden sobre
el nombre de la herramienta (y opcionalmente su skill propietaria), no sobre
args_match_json.
Una llamada denegada aquí devuelve HTTP 400 con el código
firewall_blocked, nombrada según la herramienta y la razón, y marcada como
skip-retry.
3. response — las llamadas a herramienta que el modelo emite
Una vez que el modelo responde, puede emitir uno o más tool_calls —
invocaciones concretas con argumentos reales. La etapa response ve esas,
así que aquí es donde pertenecen las reglas a nivel de argumento: no
“bloquear shell.exec” sino “bloquear shell.exec solo cuando el comando
es rm -rf”.
sanitize
funciona aquí — redacta las subcadenas coincidentes de los argumentos de la
llamada y reenvía la llamada limpia. (Sanitize redacta solo los
argumentos de la llamada a herramienta; nunca toca el contenido que una
herramienta devuelve.)
4. mcp — llamadas despachadas a través del gateway
Cuando un agente alcanza una herramienta a través del
gateway MCP de OrcaRouter, cada tools/call se
evalúa en la etapa mcp antes de despacharse al servidor registrado. Esta
es la superficie que gobierna el tráfico de Model Context Protocol — el
mismo vocabulario de glob / argumento / veredicto que response, aplicado
al despacho MCP.
Un bloqueo aquí se manifiesta como un error de herramienta
(firewall deny: <reason>) en vez de un fallo de transporte, así que el
modelo ve el rechazo y puede reaccionar — elegir otra herramienta, preguntar
al usuario o detenerse.
5. egress — el destino saliente que una herramienta alcanza
La última superficie. Cuando una herramienta reporta un destino de red
saliente, la etapa egress coincide sobre él — la superficie de SSRF y
exfiltración de datos. Las reglas de egress no coinciden solo sobre un patrón
de nombre de herramienta; coinciden sobre una lista de host / IP / CIDR:
169.254.169.254) y los rangos
RFC-1918 son las cosas canónicas a denegar. Ver
Reglas del Firewall §6
para la polaridad allow/deny.
Ningún preset incluye reglas CIDR. La postura SSRF del nivel de autonomía
tight
(nivel de autonomía)
deniega nombres de herramienta con forma de fetch (p. ej. http_fetch,
web_search, fetch_url); una denegación de egress basada en destino es
algo que autoras para los hosts y rangos que tus agentes nunca deben
alcanzar.6. Elegir la etapa correcta
El mismo objetivo de seguridad a menudo tiene una etapa óptima. Empareja la intención con la superficie que realmente lleva los datos que necesitas:Impedir que una herramienta se ofrezca siquiera → inbound
Impedir que una herramienta se ofrezca siquiera → inbound
Si el modelo nunca debería siquiera ver una herramienta, deniégala en
inbound. El bloqueo aterriza antes de la llamada al modelo, así que no
cuesta tokens de modelo.Permitir una herramienta pero restringir sus argumentos → response (o mcp)
Permitir una herramienta pero restringir sus argumentos → response (o mcp)
Las cláusulas de argumentos necesitan los argumentos elegidos por el
modelo, que solo existen en
response y mcp. Deniega sobre un
argumento peligroso, o sanitize para quitar un secreto o valor PII que
el agente puso en un argumento.Gobernar el tráfico de Model Context Protocol → mcp
Gobernar el tráfico de Model Context Protocol → mcp
Las llamadas enrutadas a través del gateway MCP se evalúan en
mcp antes
del despacho — el punto de estrangulamiento para las herramientas de cada
servidor registrado.Bloquear dónde puede conectarse un agente → egress
Bloquear dónde puede conectarse un agente → egress
Las reglas basadas en destino — bloquear la IP de metadatos de nube,
denegar un CIDR, poner en allowlist tus hosts aprobados — solo tienen
sentido en
egress.Aplicar a cada superficie → deja la etapa vacía
Aplicar a cada superficie → deja la etapa vacía
Una regla sin etapa se ejecuta en las cuatro. Úsala para una regla de
estilo
default_verdict general, o una herramienta que deniegas
dondequiera que aparezca.7. Etapas y modo shadow
El flagshadow_mode de una política es independiente de la etapa.
Actívalo y cada veredicto de aplicación — en cualquier etapa — se degrada a
audit y la razón se prefija con [shadow] would …, así que puedes
confirmar que una regla se dispara en la superficie correcta antes de que
cambie el tráfico en vivo. Ver
Modo shadow y
Modos de aplicación.
8. Dónde encajan las etapas en el panorama más amplio
Las cuatro etapas son el dónde de la aplicación; el resto del modelo es el qué y el quién.Veredictos
Qué puede hacer cada etapa una vez que coincide — allow, audit, deny,
sanitize, retener para aprobación, limitar coste.
Lista de permitidos de herramientas
Usa
inbound para restringir el conjunto de herramientas que un agente
anuncia.Validar argumentos
Autora cláusulas de argumentos
response / mcp que gobiernan una
herramienta por cómo se llama.Control de egress
Bloquea destinos salientes en la superficie
egress — la frontera de
exfiltración.