Sobre el proyecto
Mandatum es una biblioteca Go en etapa temprana para la delegación verificable de autoridad a agentes de IA. En lugar de que los agentes hereden una credencial compartida (cuenta de servicio, clave API o sesión de un humano), la autoridad de un agente se convierte en una cadena firmada con raíz en un patrocinador humano nombrado. Cada enlace se compromete con su padre mediante hash y solo puede estrecharse, por lo que la autoridad no puede crecer en el camino hacia abajo. Cualquier enlace puede revocarse individualmente, y las restricciones se evalúan en secuencias de acciones en lugar de una llamada a la vez.
El README plantea tres problemas con la herencia de credenciales: la responsabilidad no puede rastrearse hasta un humano, un agente que se comporta mal no puede revocarse sin cortar todo lo que comparte la credencial, y la autorización por llamada no puede detectar pares dañinos de llamadas individualmente legítimas (por ejemplo, leer contenido externo no confiable y luego escribir en un sistema interno).
Cómo funciona: un humano se autentica y recibe una aserción de delegación; ese agente puede subdelegar una concesión más estrecha; un servidor de recursos (punto de aplicación de políticas) verifica la cadena sin conexión, comprueba que la concesión cubre la llamada, consulta un Punto de Decisión de Políticas compatible con AuthZEN y finalmente admite la acción contra el historial de la cadena. El README señala que admitir una acción también la registra, por lo que una llamada que el PDP rechazó no debería gastar el presupuesto de invocación de la cadena. Las reglas a nivel de secuencia pueden prohibir, por ejemplo, una llamada mutadora después de una lectura de contenido externo.
Límites de alcance declarados: Mandatum no es un motor de autorización (establece hechos para OPA, Cedar, OpenFGA, SpiceDB, Cerbos o cualquier PDP conforme a AuthZEN), no es un nuevo protocolo (usa JOSE, RFC 8693, SPIFFE, AuthZEN, RFC 6962), no es una puerta de enlace, registro, sandbox o runtime de agente (es una biblioteca destinada a ejecutarse dentro de agentgateway, ToolHive o un servidor MCP mediante middleware net/http), y no es una blockchain (el registro de auditoría es un árbol Merkle).
Se reconoce el trabajo previo: macaroons y Biscuit para delegación atenuada, SPIFFE para identidad de cargas de trabajo y RFC 8693 para semántica de delegación por intercambio de tokens. El README dice que Mandatum autoriza basándose en el historial en lugar de reinterpretar la afirmación de acto, describiendo esto como una extensión del modelo RFC 8693. Reclama novedad solo en tres áreas estrechas: una cadena con raíz en un humano autenticado que sobrevive a la subdelegación, restricciones evaluadas sobre secuencias de acciones y un enlace a AuthZEN.
El estado y las limitaciones se declaran claramente: el formato, verificador, capa de firma y emisor funcionan de extremo a extremo y se prueban contra firmas reales; el enlace a AuthZEN, la evaluación de secuencias, la resolución de claves JWKS/SPIFFE, la revocación local a partir de un conjunto compacto publicado y el middleware de aplicación de llamadas a herramientas MCP están implementados. El registro de auditoría no está construido, el almacén de secuencias solo está en proceso, nada publica conjuntos de revocación según un horario y no ha habido revisión de seguridad por terceros. Existen ejemplos ejecutables mediante go test para el flujo de emisión y la ruta de aplicación MCP. Licenciado bajo Apache 2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.