Esta página trata sobre los controles del gateway que limitan el radio de
impacto. El contexto del modelo de amenazas upstream — por qué los agentes
son objetivos de alto valor y cómo funciona la inyección — está en Modelo de
amenazas. Para el control coincidente que
gobierna las llamadas a herramienta individuales peligrosas, ver Llamadas a
herramienta peligrosas.
1. Qué hace a un agente excesivamente capaz
Cuando cada agente en un espacio de trabajo comparte una clave, o cuando una clave se emite una vez y nunca se revisa, la capacidad se desplaza hacia arriba:- Modelos sin restricciones — el agente puede llamar a cualquier modelo en el espacio de trabajo, incluyendo los caros o muy capaces que nunca necesita.
- Sin techo de gasto — un bucle descontrolado, una inyección desencadenada o un ataque de facturación puede agotar el saldo del espacio de trabajo antes de que te des cuenta.
- Sin expiración — una clave emitida durante un sprint sigue siendo válida un año después, mucho después de que el agente para el que se acuñó se haya retirado.
- Sin restricción de IP — la credencial funciona desde cualquier lugar, así que una clave filtrada no tiene límite geográfico.
- Sin lista de permitidos de herramientas — el agente puede invocar cualquier herramienta, incluso las que no están relacionadas con su función.
2. El patrón del deputy confundido
El deputy confundido es una especialización de la agencia excesiva. El agente no está secuestrado; está convencido. Una carga de inyección de prompts en una página web recuperada, documento o resultado de herramienta dice al agente que tome una acción que está legítimamente autorizado a realizar — mover dinero, eliminar un registro, enviar un mensaje — en nombre del atacante. El agente actúa. Estaba autorizado para hacer exactamente eso. La verificación de autorización pasa. El daño está hecho. La defensa requiere dos cosas trabajando juntas:- Alcance estrecho — el agente no puede ser engañado para hacer algo que su tarea nunca pretendió, porque no está autorizado para hacerlo en absoluto.
- Aprobación humana para acciones irreversibles — incluso dentro del alcance autorizado, una llamada de alto riesgo requiere que un humano confirme antes de ejecutarse.
3. Defensa en profundidad: las cuatro capas
OrcaRouter aplica la mínima agencia a través de cuatro controles independientes que se componen en una sola clave API. Ninguno requiere un cambio de código en tu agente.Capa 1 — Clave con alcance (identidad + límites fijos)
Cada agente debe tener su propia clave API. La clave lleva límites fijos que el gateway aplica independientemente de lo que el agente solicite:| Campo | Qué restringe |
|---|---|
model_limits | El conjunto exacto de modelos que esta clave puede llamar. Una solicitud para cualquier otro modelo se rechaza antes de salir del gateway. |
allow_ips | Las solicitudes de cualquier dirección que no esté en esta lista se rechazan en la capa de autenticación. Vacío significa sin restricción de IP. |
credit_limit_usd | Tope de gasto de por vida en USD. 0 significa ilimitado. El gateway aplica esto contra el gasto acumulado en la clave. |
expired_time | Marca de tiempo de expiración absoluta. -1 significa que la clave nunca expira. Establece esto al ciclo de vida del despliegue del agente. |
environment | Una etiqueta (prod, staging, dev) para organizar claves y filtrar logs de auditoría. |
Capa 2 — Política del firewall (lista de permitidos de herramientas)
Adjunta una política de firewall a la clave víafirewall_policy_id. La política gobierna cada llamada a herramienta que emite
esa clave:
- Escribe reglas que permitan los nombres de herramienta que el agente
legítimamente usa (se soportan los globs de nombre de herramienta — p. ej.
db.query*). - Establece el
default_verdictde la política adenypara que cualquier cosa no listada explícitamente se bloquee. - Añade predicados de argumentos para restringir incluso las herramientas
permitidas — p. ej. permite
db.querysolo cuando el argumentodatabasecoincide con un esquema específico.
Capa 3 — Aprobación humana para acciones de alto riesgo (pending_approval)
Para llamadas a herramienta irreversibles o de alto valor — un despacho de
pago, una eliminación de registro, un envío de email — añade una regla
pending_approval. El flujo:
- El agente emite la llamada a herramienta. El firewall la retiene y devuelve una respuesta “retenida” que lleva un id de aprobación. La llamada no llega a la herramienta.
- Un revisor aprueba o rechaza fuera de banda — desde la consola (Developer+) o vía un webhook firmado con HMAC a tu propio sistema de aprobación.
- Tu agente hace polling del id de aprobación. Una vez aprobado, reenvía la
llamada original con una cabecera
X-OrcaRouter-Firewall-Approvalde un solo uso. El gateway la deja pasar exactamente una vez.
Capa 4 — Tope de coste por ejecución (cap_cost)
Una regla cap_cost deniega cualquier llamada a herramienta una vez que el
gasto acumulado de la ejecución del agente supera un techo por regla (en
centavos). Este es el interruptor de circuito para:
- Bucles descontrolados desencadenados por inyección.
- Ataques de facturación que impulsan el gasto antes de que ningún humano se dé cuenta.
- Recursión accidental en planes multi-paso.
cap_cost opera a nivel de ejecución, no a nivel de por vida de la clave
— así que se restablece por invocación del agente, y una sola ejecución con
mal comportamiento no puede agotar el techo credit_limit_usd de la clave.
4. Una clave de agente bien acotada — ejemplo
Un agente que resume tickets de clientes usandogpt-4o-mini y consulta una
réplica de solo lectura debería verse así:
model_limits:["openai/gpt-4o-mini"]— no puede escalar a un modelo más capaz o caro.allow_ips: el CIDR de egress del pool de trabajadores — la clave es inerte en todas partes más.credit_limit_usd: un techo semanal que coincide con el coste esperado de la tarea, con algo de margen — p. ej.5.00.expired_time: el final del sprint o período de despliegue — la clave se auto-expira sin limpieza manual.environment:"prod"— aparece en filtros de log y vistas de anomalías.guardrail_id: un guardrail con alcance a la sensibilidad de datos de este agente (enmascarado de PII, sin secretos en la salida).firewall_policy_id: una política que permite solodb.query*yticket.read*, veredicto por defectodeny.
is_firewall_gateway marca una clave como token con alcance de gateway para
las rutas de despacho MCP y hook de evaluación. Solo crea estas para agentes
que conducen el firewall programáticamente — nunca para tráfico de inferencia
general. Una clave de gateway en la ruta de inferencia expone rutas que las
claves de propósito general nunca deberían alcanzar. Habilitar
is_firewall_gateway requiere Admin+.5. Roles requeridos
| Acción | Rol mínimo |
|---|---|
| Leer cualquier clave, política o evento del firewall | Member |
| Crear o editar claves, políticas del firewall, reglas | Developer |
| Aprobar una llamada a herramienta retenida desde la consola | Developer |
Habilitar is_firewall_gateway en una clave | Admin |
6. Relación con otras amenazas
La agencia excesiva es el habilitador de casi todas las demás amenazas de agentes:- Llamadas a herramienta peligrosas — una clave con una lista de permitidos de herramientas estricta no puede ser forzada a llamar a una herramienta que no lista, aunque la inyección tenga éxito.
- Inyección de prompts — los límites de alcance limitan el daño que puede hacer la inyección; las puertas de aprobación bloquean las acciones irreversibles que la inyección intenta desencadenar.
- Modelo de amenazas — el mapa completo de la superficie de ataque, mostrando dónde se sitúa la agencia excesiva respecto a otros vectores.
Claves con alcance y políticas
La referencia completa de campos de clave, el orden de resolución y el
modelo de límite del espacio de trabajo.
Firewall
Creación de políticas, veredictos, flujo de aprobación HITL y la
referencia completa de la API.
