# Agent egress: la credencial no debe vivir dentro del agente

> Un agente con acceso a producción necesita una frontera de red que decida destino, método y credencial fuera de su propio contexto.

- Author: Viktor Berthelius (BRTHLS)
- Published: 2026-08-19
- Category: automation aiops
- Tags: agent-security, network-egress, credentials, runtime-policy
- Language: es
- Canonical: https://www.brthls.com/magazine/egress-agentes-politica-red-antes-credencial-es
- Source: BRTHLS Magazine — https://www.brthls.com

---

## Problema

Un sandbox limita procesos y archivos, pero no convierte una petición saliente en una acción legítima. Si el agente conserva una API key y puede abrir cualquier conexión, una instrucción maliciosa todavía puede hacer que envíe datos, borre recursos o use una credencial contra el endpoint equivocado.

El fallo de diseño es colocar secreto y criterio dentro del mismo proceso probabilístico. Cuando el agente decide qué hacer, guarda la llave y ejecuta la llamada, no existe una frontera independiente capaz de contradecirlo.

## Tesis

La credencial debe vivir fuera del agente y aparecer solo en el borde de red, después de que una política apruebe destino, método y operación.

**Principio operativo:** el agente puede proponer tráfico; no debería poder autorizarlo ni portar el secreto que lo hace efectivo.

## Framework

Brex ha publicado CrabTrap, un proxy HTTP/HTTPS que intercepta las peticiones de sus agentes. Las rutas conocidas pasan por reglas deterministas; la cola ambigua llega a un juez y queda registrada. NVIDIA OpenShell aplica otra variante: egreso denegado por defecto, reglas por endpoint y binario, e inyección de credenciales desde el gateway.

Ambos patrones separan tres planos. El **plano de intención** pertenece al agente: quiero consultar, actualizar o enviar. El **plano de política** pertenece al control: este destino y este método están permitidos. El **plano de secreto** pertenece al gateway: la credencial se resuelve solo para la llamada aprobada.

La política debe bajar a verbos. Permitir `api.github.com` no distingue entre leer un repositorio y borrar una rama. Una regla de capa 7 puede admitir `GET` y bloquear `POST`, `PUT` o `DELETE` en la misma superficie.

**Señal medible:** porcentaje de llamadas salientes que atraviesan un punto de control y porcentaje de decisiones resueltas por regla determinista frente a excepción.

## Por que importa ahora

Los agentes siempre activos mezclan navegación, correo, código y SaaS. Su superficie ya no cabe en una lista de herramientas estática. La red se convierte en el último lugar común donde observar y detener consecuencias antes de que lleguen a un sistema externo.

También cambia la respuesta a incidentes. Un log de tool calling cuenta lo que el agente dijo que intentaba hacer. El proxy registra lo que realmente quiso enviar: host, método, ruta, decisión y política aplicada.

## Anti-ejemplo

"Está dentro de Docker y solo tiene una key de servicio." Docker no define qué destinos puede alcanzar ni qué métodos puede ejecutar. Una key limitada reduce el radio de daño, pero sigue siendo extraíble si reside en el entorno del agente.

El extremo contrario tampoco funciona: enviar cada `GET` rutinario a aprobación humana. La política debe resolver automáticamente lo conocido y escalar solo la novedad o el riesgo.

## Protocolo (3 pasos)

1. **Observa sin bloquear.** Captura tráfico real y clasifica lectura, escritura y destinos nuevos.
2. **Convierte patrones en política.** Usa reglas deterministas para lo repetible y deniega por defecto el resto.
3. **Saca los secretos.** Sustituye claves locales por referencias que el gateway resuelve después del gate.

Prueba cada cambio de política contra tráfico histórico antes de activarlo. Una regla nueva debe mostrar tanto lo que desbloquea como lo que podría dejar escapar.

| Plano | Decide | Evidencia |
| --- | --- | --- |
| intención | agente | solicitud estructurada |
| política | proxy o gateway | allow/deny y motivo |
| credencial | gestor externo | inyección y auditoría |

## Relacionado

- [Buzz y los permisos de agentes: la política efectiva vive en runtime](/magazine/buzz-permisos-agentes-politica-efectiva-runtime-es)
- [Sandboxed Work: el nuevo perímetro de ejecución para agentes](/magazine/sandboxed-work-perimetro-ejecucion-agentes-produccion-es)

## Fuentes consultadas

- [BrexHQ: código y configuración de CrabTrap](https://github.com/brexhq/CrabTrap)
- [NVIDIA OpenShell: security best practices](https://docs.nvidia.com/openshell/latest/security/best-practices)
- [NVIDIA OpenShell: primera política de red](https://docs.nvidia.com/openshell/get-started/tutorials/first-network-policy)

## Proximo paso

Elige el agente con más privilegios y dibuja todas sus salidas de red. Si una llamada puede evitar el proxy o transportar una key visible para el proceso, todavía no existe una frontera de egreso.

---

_Cite as: Berthelius, V. (2026). "Agent egress: la credencial no debe vivir dentro del agente". BRTHLS Magazine. https://www.brthls.com/magazine/egress-agentes-politica-red-antes-credencial-es_
