OWASP sacó el Top 10 para agentic AI en marzo. Microsoft, fiel a su
estilo, publicó casi al mismo tiempo cómo se mapea a Copilot Studio. He pasado
las últimas semanas intentando hacer que el mapeo le hable a mi equipo.
El Top 10 no es un descubrimiento — la mayoría de las categorías ya las
veníamos manejando. Lo valioso es que da nomenclatura común. Cuando hablo con
un auditor, con un cliente, con un nuevo miembro del equipo, podemos decir
“AAI:01 - Memory Poisoning” y los dos sabemos a qué nos referimos. Antes era
cada uno con su jerga.
Voy a recorrer rápido cómo lo aterrizo en Copilot Studio. No es una guía
exhaustiva, es lo que hago yo.
Recorrido por los 10
AAI:01 Memory Poisoning — el agente acumula contexto, alguien lo
contamina, el agente actúa sobre datos envenenados. En Copilot Studio: limito
el scope de la memoria del agente, no le doy acceso a memorias persistentes
salvo necesidad clara, audito qué entra a la memoria del agente. Si el agente
consume documentos compartidos, los pasamos por sensitivity labels y DLP antes
de que entren a su corpus.
AAI:02 Tool Misuse — el agente usa una herramienta para algo distinto a
su propósito. En Copilot Studio: cada conector con scope mínimo necesario. Si
el agente solo necesita leer del CRM, no le des escritura. Si solo en una
tabla, no en todas. Esto requiere paciencia con el setup pero paga después.
AAI:03 Privilege Compromise — el agente termina con más permisos de los
que debería. En Copilot Studio: revisión periódica de permisos del agente.
Entra Agent ID más access reviews. Esto es lo que hablé en otro post — meter al
agente al ciclo de governance estándar.
AAI:04 Resource Overload — el agente consume tantos recursos que se
vuelve indisponible o caro. En Copilot Studio: rate limits, cost caps por
agente, monitoring de consumo. Si un agente sube su consumo súbitamente,
alerta.
AAI:05 Cascading Hallucinations — un agente alucina, otro toma esa salida
como verdad, y la cadena de errores crece. En Copilot Studio multi-agente:
validación entre nodos, no encadenar agentes sin un punto de verificación.
Costoso pero necesario en flujos críticos.
AAI:06 Intent Breaking and Goal Manipulation — esto es prompt injection
con vocabulario más fancy. En Copilot Studio: Prompt Shields activo,
Spotlighting cuando hay inputs de fuera, system prompts robustos, validation de
outputs.
AAI:07 Misaligned and Deceptive Behaviors — el agente hace algo que
parece OK pero no es lo que el usuario quería. En Copilot Studio: confirmación
explícita de acciones con efecto lateral. Si el agente va a mandar correo,
modificar archivo, ejecutar transacción — confirma con el humano. Esto, aunque
agrega fricción, es no-negociable.
AAI:08 Repudiation — el usuario o el agente niega haber hecho una acción
y no hay forma de probarlo. En Copilot Studio: logging completo activado en
Purview, identidad de agente clara (Entra Agent ID), trazabilidad end-to-end.
Auditable es no-negociable.
AAI:09 Identity Spoofing and Impersonation — alguien se hace pasar por el
agente o el agente se hace pasar por alguien. En Copilot Studio: identidad
robusta del agente, autenticación mutua donde aplica, MFA en quien crea o
modifica agentes.
AAI:10 Overwhelming HITL — el humano en el loop recibe tanto input que
deja de validar. En Copilot Studio: diseño de aprobaciones que no satura. Si tu
agente genera 1000 acciones al día y todas requieren aprobación humana, la
aprobación deja de ser real. Hay que pensar el HITL como recurso escaso.
Cómo lo opero
He empezado a documentar cada agente en una matriz: para cada uno de los
10 ítems, ¿cuál es nuestro control, cuál es la evidencia, quién es el dueño?
Cuando el auditor llega — y va a llegar — el documento ya existe. No lo armas
la semana antes.
¿Es todo? No. Hay categorías que el Top 10 cubre superficialmente. Por
ejemplo, supply chain de modelos: si tu agente usa un modelo custom, ¿cómo lo
verificaste? Eso está implícito en varios ítems pero no es categoría propia. Lo
cubro aparte.
¿Lo recomendaría como base para tu programa? Sí. Tener el Top 10 como
vocabulario y línea base, y construir tu programa por encima, te ahorra
inventar la rueda. Que es lo que más tiempo nos hace perder en seguridad:
discutir taxonomía cuando deberíamos estar implementando controles.
No hay comentarios.:
Publicar un comentario