Capítulo 4.4 — Tool misuse e excessive agency¶
🎯 Objetivo¶
Tratar tool misuse e excessive agency como riscos arquiteturais, não como bugs do prompt. A maior parte dos incidentes sérios com agentes em produção começa aqui.
🧠 Conceito¶
- Tool misuse. O agente chama uma tool de forma legítima do ponto de vista do schema, mas de forma errada do ponto de vista do negócio: argumentos inválidos, recurso errado, momento errado, tenant errado.
- Excessive agency. O agente pode fazer mais coisas do que precisa para a tarefa atual. Quanto maior a superfície, maior o risco de tool misuse.
- Confused deputy. O agente, agindo com seus próprios privilégios, executa ação que o usuário não tinha permissão de pedir.
🛡️ Mitigações¶
Em camadas, de fora para dentro:
- Least privilege na identidade do agente (Cap. 4.8). Tokens curtos, escopos mínimos, sem credenciais humanas reusadas.
- Allowlist explícita de tools por role no harness.
- Validação de schema dos argumentos antes de qualquer ação.
- Policy-as-code (Cap. 4.7) decidindo, em runtime, se aquela chamada de tool é permitida, dadas role, tenant, recurso, risco e contexto.
- Idempotência das tools que modificam estado: chamar duas vezes com o mesmo
idempotency_keynão duplica efeito. - Rate limits por tool, por agente, por tenant.
- Budgets por tenant e por agente: custo e número de chamadas.
- Sandbox para execução de código gerado.
- HITL para ações de alto risco (definir critérios objetivos: valor financeiro, mudança em recurso crítico, contato externo, etc.).
- Audit trail ligando ação -> token -> policy decision -> resultado.
🚨 Sinais operacionais a monitorar¶
- Taxa de chamadas a tools negadas por policy (deve ser >0; se for zero, a policy não está sendo testada).
- Tentativas de tool fora da allowlist (sintoma de regressão ou ataque).
- Pico de chamadas a tools sensíveis em janelas curtas.
- Crescimento súbito de custo por agente ou por tenant.
🧰 Exemplos práticos relacionados (planejados)¶
EX-SEC-03- simulação de tool misuse com policy bloqueando ação.EX-AGT-06- agente com policy Rego sidecar bloqueando tool calls.