Todo aquí se vincula a tu espacio de trabajo y se configura desde la
consola. Tu agente sigue llamando a
https://api.orcarouter.ai/v1/... con la
misma clave sk-orca-... — solo cambia la política en el gateway. Las
acciones de configuración necesitan los roles indicados por paso; las llamadas
de relay usan la clave con alcance. El firewall ve el egress solo para
destinos enrutados a través del gateway (la ruta de despacho MCP o el hook de
evaluación) — enruta tus llamadas a herramienta con destino a la red a través
de él y quedan gobernadas.1. Las tres capas que previenen la exfiltración de datos de IA
Cada capa captura el ataque en un punto diferente del ciclo de vida de la solicitud. Apila las tres — son independientes y complementarias.Credenciales en el prompt
Un secreto pegado en (o arrastrado a) la solicitud se captura en la etapa
de entrada por el guardrail Secrets Blocker — antes de que ningún
modelo lo vea.
Secretos en argumentos de herramienta
Un modelo que emite una llamada a herramienta que lleva una credencial se
limpia con una regla de firewall sanitize, que redacta el argumento
coincidente.
Destino saliente
El paso de red real está acotado por una lista de permitidos de
egress — solo pasan los hosts enumerados; todo lo demás se deniega.
2. Detén credenciales en el prompt — el guardrail Secrets Blocker
Lo primero a asegurar es la credencial misma. El guardrail Secrets & API-Key Blocker se ejecuta en la etapa de entrada y escanea la solicitud en busca de patrones de credenciales — claves de acceso estilo AWS, claves de OpenAI, JWTs y tokens similares — antes de que la solicitud salga del gateway. Ante una coincidencia la solicitud se bloquea: la credencial nunca alcanza un modelo y nunca aterriza en una llamada a herramienta. En la consola, abre Guardrails → New guardrail (el rol Developer; las lecturas y el sandbox de Test están abiertos a cualquier miembro), nómbraloexfil-shield y aplica el preset Secrets & API-Key Blocker desde la
biblioteca de plantillas (categoría secrets). El preset siembra tres
reglas de bloqueo regex en la etapa input, una por forma de credencial —
claves de acceso AWS, claves estilo OpenAI y tokens de GitHub:
guardrail_blocked, no cuesta
cuota (un bloqueo en la etapa de entrada se dispara antes de la medición)
y se marca skip-retry. Demuéstralo en la pestaña Test — pega una clave AWS
de muestra, elige la etapa input y confirma el veredicto — antes de adjuntar
una clave.
3. Sanea secretos de los argumentos de llamadas a herramienta
Un guardrail criba el prompt; no ve las llamadas a herramienta que un modelo emite. Cuando el modelo produce untool_call cuyos argumentos llevan una
credencial, una regla de firewall sanitize lo captura. Sanitize redacta
las subcadenas coincidentes de los argumentos de la llamada a herramienta y
reenvía la llamada limpia — la herramienta se ejecuta, pero con el secreto
eliminado.
En Firewall → Policies → New policy (rol Developer), nómbrala
exfil-firewall y añade una regla sanitize en la superficie response — los
tool_calls que el modelo emite en su respuesta:
4. Bloquea destinos salientes — la lista de permitidos de egress
La defensa más duradera es el límite de red mismo: enumera los hosts que tus agentes están legítimamente autorizados a alcanzar y deniega todo lo demás. Una regla de egress usastage: egress y el campo egress; el veredicto
establece la polaridad — allow pasa los destinos listados y un deny
catch-all de menor prioridad bloquea el resto.
Añade estas reglas a la misma política exfil-firewall:
169.254.169.254) y los
rangos privados RFC-1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
Una llamada denegada devuelve HTTP 400 firewall_blocked.
Ningún preset incluye reglas de egress CIDR — autoras las entradas de allow y
deny de host/CIDR tú mismo. El nivel de autonomía
tight es la ruta rápida adyacente: deniega los nombres de herramienta
con forma de fetch (http_fetch, web_search, fetch_url, request) por
completo, eliminando la capacidad de red antes de que un destino se evalúe
siquiera. Úsalo cuando tu agente no necesita esas herramientas en absoluto.5. Adjunta una sola clave con alcance
Una política solo aplica sobre claves que resuelven a ella. Dale al agente su propia clave, con alcance al mínimo que necesita — nunca tu clave de toda la cuenta. En API Keys → New key (rol Developer):Adjunta ambas políticas
Adjunta ambas políticas
Elige
exfil-shield del desplegable Guardrail (establece
guardrail_id) y exfil-firewall del desplegable Firewall policy
(establece firewall_policy_id). Ambas vinculaciones viven en la clave en
el gateway. Una adjunción explícita de guardrail nunca hace fallback
silencioso — deshabilitarla es el interruptor de apagado. Una política de
firewall deshabilitada, en cambio, hace fallback a la política por
defecto del espacio de trabajo.Limita el radio de explosión
Limita el radio de explosión
Establece
credit_limit_usd a un techo razonable (0 = ilimitado) para
que una clave comprometida no pueda drenar cuota, y allow_ips a las IPs
de egress de tu backend si el agente llama desde un servidor fijo.
Establece un expired_time para claves temporales (-1 = nunca expira).exfil-shield y cada llamada a
herramienta a través de exfil-firewall sin que el código sepa que la
aplicación está ocurriendo.
6. Lanza con modo shadow, luego vigila
Si aún no conoces cada host que tu agente alcanza legítimamente, no apliques a ciegas — observa primero. Ver modos de aplicación para la ruta completa observe → shadow → enforce.Shadow de las reglas de egress
Establece
shadow_mode: true en exfil-firewall. Cada veredicto de
aplicación se degrada a audit y se registra como [shadow] would deny
con el destino. No se bloquea tráfico mientras el modo shadow está
activado.Vigila los feeds
Firewall → Events / Runs (Developer+) muestra cada llamada a
herramienta y destino de egress que tu agente tocó y qué se habría
denegado. Guardrails → Matches (cualquier Member) muestra cada secreto
que el guardrail de entrada capturó. Afina la lista
allow de egress
hasta que solo los hosts alcanzables por atacantes serían denegados.El feed de Matches registra la subcadena coincidente solo cuando Log raw
content está activado para el guardrail (apagado por defecto — la postura
conservadora de privacidad). Marca un falso positivo (Admin) para afinar
la política. Cada cambio de guardrail escribe una fila de historial de
versiones que puedes diff y revertir; los cambios de política de firewall se
registran en el rastro de auditoría.
7. Cobertura de un vistazo
| Paso de exfiltración | Capa que lo detiene |
|---|---|
| La credencial entra en la solicitud | Guardrail Secrets Blocker (input) |
| El modelo emite una llamada a herramienta que lleva un secreto | Regla de firewall sanitize (superficie response) |
| La herramienta marca un host atacante | Regla de egress allow / deny |
| El agente alcanza cloud metadata o RFC-1918 | Regla de denegación de egress que lista esos CIDRs |
| Herramienta con forma de fetch ofrecida al modelo | Nivel de autonomía tight (deny de nombre de herramienta) |
8. Dónde ir a continuación
Referencia de reglas del firewall
El lenguaje de coincidencia completo — listas de egress, CIDRs,
saneadores y todos los veredictos.
Amenaza de exfiltración de datos
La anatomía del ataque contra la que esta receta defiende, de extremo a
extremo.
Endurecer un agente MCP
Gobierna cada
tools/call que un agente despacha a través de un servidor
MCP.Registro seguro de PII
Mantén los datos sensibles fuera de tus registros de solicitudes y el feed
de Matches.
