À propos du projet

Tenuo est un système d’autorisation basé sur les capacités, conçu pour les agents IA. Il émet des autorisations signées appelées « warrants » qui précisent quels outils un agent peut appeler, sous quelles contraintes et pour combien de temps. Chaque warrant est lié à une clé publique spécifique, ce qui rend les warrants copiés inutiles sans la clé privée correspondante. La vérification s’effectue localement et hors ligne, les contrôles s’achevant en moins de 50 microsecondes. Les principales fonctionnalités incluent : - **Warrants liés au détenteur** : chaque appel porte une signature du détenteur du warrant sur le warrant, l’outil, les arguments exacts et une courte fenêtre temporelle. - **Délégation soustractive** : les warrants délégués ne peuvent que réduire les capacités — supprimer des outils, resserrer les contraintes ou raccourcir l’expiration — jamais les étendre. Cela empêche l’escalade de privilèges au fil des sauts de délégation. - **Résistance à l’injection de prompt** : les contrôles d’autorisation s’exécutent à la frontière de l’outil sur les arguments réels, indépendamment du comportement du modèle. - **Contraintes sémantiques** : 11 types de contraintes interprètent les arguments comme le font les systèmes en aval, évitant les désaccords liés à une correspondance générique de chaînes. - **Reçus d’autorisation signés** : preuve facultative expliquant pourquoi un appel a été autorisé ou refusé. Tenuo s’intègre à plusieurs points d’application : dans les runtimes d’agents (fonctions Python, OpenAI, LangChain, LangGraph, Google ADK, CrewAI, AutoGen, Rust), sur les serveurs d’outils MCP, aux frontières d’API/services (FastAPI, sidecar, gateway, Kubernetes), dans les workflows durables (Temporal) et lors des transferts entre agents (A2A, piles de warrants MCP). Les SDK disponibles incluent Python (3.9-3.14), TypeScript (bêta, Node 20+) et Rust. Le cœur est sous licence Apache-2.0 et auto-hébergeable, avec Tenuo Cloud en option offrant des fonctionnalités de plan de contrôle managé telles que la révocation, l’observabilité et l’émission de warrants multi-locataires. Le projet comprend un laboratoire de sécurité interactif (AI Agent Delegation Security Lab) avec six agents et un scénario d’agent malveillant, ainsi que des options de déploiement Docker et Kubernetes. Le format de jeton et le protocole de délégation sont en cours de standardisation au sein du groupe de travail OAuth de l’IETF, et les règles d’atténuation essentielles sont formellement vérifiées avec Alloy et Z3.