Detección de agencia excesiva
Detecta cuando los agentes de IA operan más allá de su ámbito previsto — abordando el OWASP MCP Top 10 #7 (Agencia excesiva).
¿Qué es la agencia excesiva?
Un agente de IA exhibe agencia excesiva cuando toma acciones autónomas que van más allá de lo previsto o autorizado. El MCP Top 10 de OWASP identifica esto como uno de los riesgos primarios en los sistemas agénticos: un agente que puede llamar a demasiadas herramientas, encadenar demasiadas llamadas sin supervisión humana, o actuar en un área de superficie más amplia de la necesaria, es un riesgo significativo de seguridad y operacional.
ShieldAgent detecta la agencia excesiva siguiendo dos señales comportamentales por sesión: cuántas llamadas a herramientas ha realizado el agente consecutivamente sin un punto de control humano (profundidad de cadena de llamadas), y qué fracción de las herramientas disponibles ha utilizado el agente (amplitud de herramientas).
Patrones de detección
Cuenta el número de llamadas a herramientas consecutivas en una sesión sin un punto de control humano. Un punto de control reinicia el contador — esto ocurre cuando se recibe un mensaje humano o una señal de reinicio explícita. Cuando el recuento supera el umbral de profundidad de cadena configurado, el agente se marca.
Las cadenas autónomas largas sin supervisión humana son una señal característica de agentes que están mal configurados o han sido manipulados para ejecutar más pasos de los previstos.
Mide qué fracción del total de herramientas registradas ha invocado el agente en la sesión actual. Cuando el ratio supera el umbral de amplitud de herramientas configurado, el agente se marca.
Un agente enfocado en tareas debería usar un subconjunto pequeño y predecible de herramientas. El acceso amplio a herramientas — especialmente a herramientas fuera del rol normal del agente — indica expansión del ámbito o un agente comprometido explorando su entorno.
Puntuación de agencia (0–100)
Cada tools/call produce una puntuación de agencia para la sesión actual. La puntuación analiza la profundidad de cadena de llamadas y la amplitud de uso de herramientas para detectar agentes que operan más allá de su ámbito previsto. Los umbrales son configurables por tenant.
Una puntuación de 0 significa que el agente opera normalmente dentro de todos los umbrales. Una puntuación de 100 significa que ambos umbrales están completamente superados. La puntuación se incorpora al Modelo de puntuación de riesgo del agente y se incluye en cada evento de auditoría.
Seguimiento de sesiones
El estado de sesión registra la profundidad de cadena de llamadas consecutivas, el conjunto de herramientas distintas invocadas y marcas de tiempo de actividad para la gestión del TTL.
TTL de sesión
Las sesiones inactivas durante más del tiempo de espera de inactividad configurado se expiran automáticamente. Una nueva sesión comienza desde cero con profundidad 0 y un conjunto de herramientas vacío en la siguiente llamada.
Puntos de control humanos
Cuando se recibe un mensaje humano (o una señal de reinicio explícita), la profundidad de cadena de llamadas se reinicia a 0 para esa sesión. La amplitud de herramientas (herramientas distintas usadas) no se reinicia — acumula durante toda la vida de la sesión para rastrear la expansión de ámbito acumulada.
Modo sombra vs aplicación
El detector opera en uno de dos modos por tenant:
| Modo | shouldBlock | Comportamiento |
|---|---|---|
| shadow (predeterminado) | siempre false | Las detecciones se registran en el registro de auditoría pero nunca bloquean la llamada. Usar para observar patrones antes de comprometerse con la aplicación. |
| enforce | true cuando se detecta | Cuando se supera un umbral, la llamada a la herramienta se rechaza y el agente recibe un error. El pipeline respeta shouldBlock: true. |
Configuración
| Parámetro | Predeterminado | Descripción |
|---|---|---|
| Límite de profundidad de cadena | — | Llamadas a herramientas consecutivas sin punto de control humano antes de marcar |
| Límite de amplitud de herramientas | — | Fracción (0–1) de herramientas registradas que se pueden usar antes de marcar |
| Tiempo de espera de sesión | — | Tiempo de espera de inactividad de sesión en milisegundos |
| mode | shadow | "shadow" o "enforce" — si las detecciones bloquean llamadas |
Ejemplo — ajustar umbrales para un agente de alto riesgo
curl -s -X PATCH https://api.shieldagent.io/tenants/:tenantId/agents/:agentId \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"excessiveAgencyConfig": {
"mode": "enforce"
}
}'Referencia de API
Forma del evento de auditoría (agencia excesiva)
{
"id": "ae_...",
"agentId": "...",
"toolName": "bash",
"outcome": "blocked",
"threatType": "excessive_agency",
"findings": [
{
"severity": "high",
"detail": "Agent has exceeded the configured consecutive call-chain depth limit"
}
],
"createdAt": "2026-04-24T11:47:00.000Z"
}