
Aplicación de políticas, identidad de confianza cero, sandboxing de ejecución y registro de auditoría para agentes de IA autónomos. Cubre 10/10 del OWASP Agentic Top 10 con gobernanza determinista y de cierre por fallo.
🌍 English | Español | 日本語 | 简体中文 | 한국어
🚀 Inicio Rápido · 📋 Especificaciones · 📦 PyPI · 📝 Registro de cambios
[!IMPORTANT] Vista Previa Pública -- versiones de vista previa pública con calidad de producción. Puede tener cambios disruptivos antes de la GA.
Aplicación de políticas, identidad, sandboxing y SRE para agentes de IA autónomos. Un pip install, cualquier framework.
Tus agentes de IA llaman herramientas, navegan por la web, consultan bases de datos y delegan en otros agentes. Una vez desplegados, toman decisiones de forma autónoma. Necesitas respuestas a tres preguntas:
1. ¿Está permitida esta acción? Un agente con acceso a send_email y query_database no debería poder drop_table. Los scopes de OAuth y los roles de IAM controlan a qué servicios puede llegar un agente, no lo que hace una vez conectado.
2. ¿Qué agente hizo esto? En un sistema multiagente, cinco agentes podrían compartir una única clave de API. Cuando algo sale mal, "un agente lo hizo" no es una respuesta a incidentes.
3. ¿Puedes demostrar qué ocurrió? Los auditores y reguladores necesitan registros a prueba de manipulaciones de cada decisión: qué política estaba activa, qué solicitó el agente y por qué se permitió o denegó.
La seguridad a nivel de prompt ("por favor, sigue las reglas") no es una superficie de control. Es una petición cortés a un sistema estocástico. OWASP LLM01:2025 lo afirma explícitamente: "no está claro si existen métodos infalibles de prevención para la inyección de prompts." Las cifras publicadas lo respaldan. Andriushchenko et al. (ICLR 2025) reportan una tasa de éxito de ataque del 100% sobre GPT-4o, GPT-3.5, Claude 3 y Llama-3 usando ataques adaptativos con acceso a logprob y optimización de sufijos, evaluados contra el benchmark JailbreakBench (Chao et al., NeurIPS 2024). El propio AI Red Teaming Agent de Microsoft formaliza la Tasa de Éxito de Ataque (ASR), la tasa de violaciones de políticas bajo entrada adversarial, como la métrica canónica para esta clase de fallo. Lessons from Red Teaming 100 Generative AI Products refuerza el punto: "las mitigaciones no eliminan el riesgo por completo" y el red teaming debe ser un proceso continuo porque las defensas a nivel de modelo son probabilísticas por construcción.
AGT no intenta ganar esa batalla dentro del prompt. Cada llamada a herramienta, envío de mensaje y delegación se intercepta en código de aplicación determinista antes de que la intención del modelo llegue al cable. Las acciones que el kernel de AGT deniega no son "improbables". Son estructuralmente imposibles. Esa es la diferencia entre pedirle a un agente que se comporte y hacerlo incapaz de comportarse mal.
Requisitos previos: Python 3.11+```bash pip install "agent-governance-toolkit[full]"
Utilice el extra `[full]` para las importaciones de inicio rápido a continuación. El wheel base
`agent-governance-toolkit` instala únicamente la CLI de cumplimiento; los módulos de gobernanza
residen en la distribución core consolidada. La importación de inicio rápido `agentmesh` sigue siendo la API wrapper actual. Importar `agent_os` emite un
`DeprecationWarning` porque la antigua distribución `agent-os-kernel` está obsoleta.
Utilice `agent-governance-toolkit-core` (o el extra `[full]` que lo incluye) como
la distribución de reemplazo. El código host del motor de políticas utiliza el SDK de ACS;
`agt-policies` proporciona el comando de migración unidireccional de v4 a v5. El modelo de reglas
`agent_os.policies` anterior a ACS ya no existe, y `BREAKING_CHANGES.md` enumera sus
reemplazos.
Para Claude Code, agregue AGT como un marketplace de plugins e instale el plugin de gobernanza:```text
/plugin marketplace add microsoft/agent-governance-toolkit
/plugin install agt-governance@agent-governance-toolkit
Gobierna cualquier función de herramienta en dos líneas:```python from agentmesh.governance import govern
safe_tool = govern(my_tool, policy="policy.yaml") # every call checked, logged, enforced
En cada llamada, `safe_tool` evalúa la política YAML, registra la decisión en un
registro de auditoría y lanza `GovernanceDenied` cuando la política bloquea la acción.```yaml
# policy.yaml
apiVersion: governance.toolkit/v1
name: production-policy
default_action: allow
rules:
- name: block-destructive
condition: "action.type in ['drop', 'delete', 'truncate']"
action: deny
description: "Destructive operations require human approval"