Sobre o projeto

Mandatum é uma biblioteca Go em fase inicial para delegação verificável de autoridade a agentes de IA. Em vez de os agentes herdarem uma credencial partilhada (conta de serviço, chave de API ou a sessão de uma pessoa), a autoridade de um agente torna-se uma cadeia assinada enraizada num patrocinador humano nomeado. Cada elo compromete-se com o seu pai por hash e só pode estreitar, pelo que a autoridade não pode crescer ao descer. Qualquer elo pode ser revogado individualmente, e as restrições são avaliadas ao longo de sequências de ações em vez de uma chamada de cada vez. O README enquadra três problemas com a herança de credenciais: a responsabilidade não pode ser rastreada até uma pessoa, um único agente com mau comportamento não pode ser revogado sem cortar tudo o que partilha a credencial, e a autorização por chamada não consegue detetar pares nocivos de chamadas individualmente legítimas (por exemplo, ler conteúdo externo não fidedigno e depois escrever num sistema interno). Como funciona: uma pessoa autentica-se e recebe uma asserção de delegação; esse agente pode subdelegar uma concessão mais estreita; um servidor de recursos (ponto de imposição de políticas) verifica a cadeia offline, confirma que a concessão cobre a chamada, consulta um Policy Decision Point compatível com AuthZEN e, por fim, admite a ação face ao histórico da cadeia. O README observa que admitir uma ação também a regista, pelo que uma chamada recusada pelo PDP não deve gastar o orçamento de invocações da cadeia. Regras ao nível da sequência podem proibir, por exemplo, uma chamada mutável após uma leitura de conteúdo externo. Limites de âmbito declarados: Mandatum não é um motor de autorização (estabelece factos para OPA, Cedar, OpenFGA, SpiceDB, Cerbos ou qualquer PDP conforme com AuthZEN), não é um novo protocolo (usa JOSE, RFC 8693, SPIFFE, AuthZEN, RFC 6962), não é um gateway, registo, sandbox ou runtime de agentes (é uma biblioteca destinada a correr dentro de agentgateway, ToolHive ou um servidor MCP via middleware net/http), e não é uma blockchain (o registo de auditoria é uma árvore de Merkle). A arte anterior é reconhecida: macaroons e Biscuit para delegação atenuada, SPIFFE para identidade de carga de trabalho e RFC 8693 para semântica de delegação por troca de tokens. O README diz que Mandatum autoriza com base no histórico em vez de reinterpretar a afirmação act, descrevendo isto como uma extensão do modelo da RFC 8693. Reivindica novidade apenas em três áreas restritas: uma cadeia enraizada numa pessoa autenticada que sobrevive à subdelegação, restrições avaliadas ao longo de sequências de ações e uma ligação AuthZEN. O estado e as limitações são declarados com franqueza: formato, verificador, camada de assinatura e emissor funcionam de ponta a ponta e são testados com assinaturas reais; a ligação AuthZEN, a avaliação de sequências, a resolução de chaves JWKS/SPIFFE, a revogação local a partir de um conjunto compacto publicado e o middleware de imposição de chamadas de ferramentas MCP estão implementados. O registo de auditoria não está construído, o armazenamento de sequências é apenas em processo, nada publica conjuntos de revogação segundo um calendário e não houve qualquer revisão de segurança por terceiros. Existem exemplos executáveis via go test para o fluxo de emissão e o caminho de imposição MCP. Licenciado sob Apache 2.0.