Les permissions des agents AI doivent contenir les erreurs, même lorsque le modèle prend la mauvaise décision. La conception en production est simple : attribuer à chaque exécution un ensemble restreint de capacités, les appliquer en dehors du modèle, réserver l’approbation humaine aux actions lourdes de conséquences et enregistrer suffisamment de preuves pour vérifier ce qui s’est passé.
Public visé : Professionnels expérimentés qui construisent des agents utilisant des outils, des agents de codage ou des serveurs MCP.
Cette réponse est importante, car une consigne telle que « demander avant de supprimer » constitue une indication, et non une limite de contrôle d’accès. Un modèle peut mal l’interpréter, une instruction injectée peut entrer en concurrence avec elle et un outil peut se comporter différemment de sa description. L’autorisation doit résister à ces trois défaillances.
Ce que les permissions des agents AI doivent contrôler
Un système de permissions pour agent décide si un appelant précis peut effectuer une action précise sur une ressource précise dans les conditions actuelles. « L’agent peut utiliser GitHub » est trop vague. Une décision utile comprend au minimum :
La vérification des permissions doit se trouver à la frontière de l’outil ou du service. Le modèle peut proposer une action et expliquer pourquoi. Il ne doit pas décider si sa propre proposition est autorisée.
La séparation de ces rôles permet également de préserver une isolation honnête des secrets. Un courtier de credentials peut dissimuler une clé API au modèle tout en exposant chaque opération autorisée par cette clé. Le courtier protège le secret ; une policy limitée à l’action protège la ressource.
Ce que les recherches les plus récentes sur les permissions ont mesuré
Un preprint de juillet 2026, *How Agents Ask for Permission*, a examiné 21 systèmes et propositions de permissions pour agents publiés ou diffusés entre 2024 et 2026. Les auteurs ont également étudié cinq agents commerciaux dans des environnements isolés à la fin du mois de mai et au début du mois de juin.
Leur taxonomie révèle une tension d’ingénierie à trois dimensions :
Ces chiffres décrivent l’échantillon des auteurs, et non l’ensemble du marché. L’étude a utilisé un échantillonnage en boule de neige, inclus des preprints et des produits commerciaux, et n’a pas pu examiner les composants internes closed source. L’article reste utile, car il sépare l’interface de permission de la policy et du mécanisme d’application. Une boîte de dialogue d’approbation soignée ne peut pas compenser une policy ambiguë ou une décision qui n’est pas appliquée.
Les outils commerciaux reflètent déjà en partie cette séparation. Claude Code documents autorise, demande et refuse des règles, tandis que sa sandbox documentation décrit des limites de système d’exploitation au niveau du système de fichiers et du réseau. Les consignes de sécurité Codex d’OpenAI considèrent également la sandbox comme une limite technique et la policy d’approbation comme le point où une demande peut être adressée à l’utilisateur. Il s’agit de contrôles propres aux produits, et non d’une preuve que chaque déploiement les configure de manière sûre.
La fatigue liée aux approbations est un problème de routage
Les demandes d’approbation sont utiles lorsque l’utilisateur doit prendre une véritable décision. Elles échouent lorsque chaque commande courante semble présenter la même urgence.
Des demandes répétées et peu risquées habituent les utilisateurs à cliquer machinalement. Anthropic a rapporté une réduction de 84 % des demandes de permission lors du déploiement interne de sa sandbox, mais il s’agit d’un résultat opérationnel rapporté par le fournisseur, et non d’un benchmark indépendant. La leçon durable est plus limitée : un travail préapprouvé à l’intérieur d’une limite appliquée peut réduire les interruptions sans donner à l’agent un accès global.
Orientez les actions vers quatre résultats :
| Résultat | À utiliser lorsque | Exemple |
|---|---|---|
| --- | --- | --- |
| Autoriser automatiquement | L’action est limitée, réversible et contenue | Lire des fichiers dans un seul dépôt |
| Autoriser avec des limites | L’action est courante, mais nécessite une limite stricte | Exécuter des tests avec le réseau désactivé et une limite de temps |
| Demander à un humain | L’action est lourde de conséquences ou visible de l’extérieur | Envoyer un e-mail, publier du contenu, fusionner, dépenser ou supprimer |
| Refuser | La capacité est en dehors de l’objectif de l’exécution | Lire les données d’un autre client ou modifier des rôles IAM |
Le risque doit être calculé à partir de l’action et de son rayon d’impact, et non de la confiance du modèle. Une confiance élevée ne rend pas une action irréversible plus sûre.
Une architecture de permissions en cinq couches
La plus petite architecture crédible comporte cinq couches distinctes. Les combiner rend les audits plus difficiles et crée des chemins en cas de défaillance ouverte.

*Le modèle propose une action. La policy, l’application, l’exécution et les preuves restent séparées.*
1. Normaliser l’action proposée
Convertissez un appel d’outil généré par le modèle en une requête typée avant l’autorisation :
{ "actor": "agent-run-7f3", "on_behalf_of": "user-42", "action": "blog.publish", "resource": "post:ai-agent-permissions", "constraints": { "environment": "production", "language": "en" } }
Il s’agit d’un contrat illustratif, et non d’un standard. La propriété importante est que l’autorisation évalue un objet stable plutôt qu’un raisonnement en langage libre.
2. Évaluer la policy en dehors du modèle
Retournez une décision déterministe : `allow`, `ask` ou `deny`. Incluez la règle de policy et son expiration. Un modèle peut aider à classer une nouvelle requête, mais cette classification ne doit pas accorder un accès à elle seule. Les actions inconnues doivent échouer de manière fermée.
3. Appliquer la décision lors de l’exécution
Le gestionnaire de l’outil ou le service en aval doit vérifier à nouveau la décision. Ne comptez pas sur l’agent pour respecter un refus. Liez la capacité à l’action, à la ressource, à l’appelant et à une courte fenêtre temporelle exacts afin qu’elle ne puisse pas être rejouée contre une autre cible.
La spécification d’autorisation MCP applique le même principe aux access tokens : les serveurs doivent vérifier qu’un token a été émis pour l’audience prévue. Les consignes de sécurité MCP interdisent explicitement le token passthrough, car il peut briser cette limite.
4. Exécuter via des outils étroits
Préférez `publish_draft(post_id)` à `run_sql(query)` et `send_invoice(invoice_id)` à `http_request(url, body)`. Des outils étroits rendent la policy lisible et réduisent l’espace des actions involontaires.
Le même argument en faveur d’une couche de contrôle apparaît dans MCP Developer Workflows: The Real Control Layer : la forme des outils, les étapes d’approbation et les actions rejouables déterminent ce qu’un agent peut faire en toute sécurité.
5. Enregistrer un reçu et prendre en charge la révocation
Enregistrez l’action demandée, la décision de policy, l’identité de l’approbateur, le condensat des entrées de l’outil, la classe de résultat et la postcondition. Masquez les secrets et les charges utiles sensibles. Un utilisateur doit pouvoir révoquer une autorisation permanente sans reconstruire l’agent.
Le reçu doit distinguer « l’outil a répondu » de « l’état attendu existe ». Un HTTP 200, un appel SDK réussi ou un message final assuré ne constitue pas une postcondition.
Traiter les écritures en mémoire comme des actions privilégiées
Les modifications de la mémoire persistante changent le comportement futur ; les écritures en mémoire nécessitent donc leur propre chemin de permission et de validation.
L’article MemGhost de juillet 2026 a présenté WhisperBench, un benchmark de 108 cas consacré à l’injection furtive de mémoire via des workflows d’e-mail. Les auteurs rapportent un taux de réussite d’attaque end-to-end de 87,5 % sur des cas tenus à l’écart contre une configuration OpenClaw et de 71,4 % contre une configuration Claude Code SDK. Ils rapportent également un transfert vers d’autres systèmes de mémoire.
Ces chiffres n’établissent pas un taux universel de compromission. Les expériences couvrent des modèles, des architectures d’agents et un workflow centré sur l’e-mail spécifiques ; plusieurs évaluations utilisent des juges LLM, et l’article ne teste pas la dégradation de la mémoire sur plusieurs semaines. L’implication pratique demeure : un contenu non fiable ne doit pas devenir une mémoire durable de l’agent sans provenance, validation de schéma, isolation par tenant et policy d’écriture explicite.
Un enregistrement mémoire doit contenir :
Les permissions doivent résister aux défaillances des outils
Une conception de permissions est incomplète si elle suppose que les descriptions et les réponses des outils restent stables.
ToolBench-X évalue les agents face à la dérive des spécifications, aux erreurs d’invocation, aux échecs d’exécution, à la dérive des sorties et aux conflits entre sources. L’article rapporte que les agents performants avec des outils fiables se dégradent face à ces risques, tandis que des indications de récupération ciblées les aident davantage que le simple fait d’augmenter le compute au moment du test. Il s’agit d’un résultat de benchmark, et non d’un taux d’incident en production.
AgentTether étudie les trajectoires échouées et l’intervention contrôlée au runtime. Sur 261 tâches tau-bench, ses auteurs rapportent avoir réparé 69,11 % des exécutions Qwen initialement échouées, soit 26,02 points de pourcentage de plus qu’une nouvelle tentative aveugle. Les résultats varient selon le domaine, les jugements auxiliaires reposent sur un autre modèle et tau-bench ne peut pas représenter toutes les chaînes d’outils de production.
Ces articles soutiennent deux contrôles :
Une nouvelle tentative est une nouvelle décision d’exécution, et non la preuve que l’action précédente était sûre.
Un workflow de test des permissions reproductible
Exécutez ces tests avant d’activer les écritures autonomes :
Des métriques déterministes pour les agents commencent à apparaître dans les outils d’évaluation open source. La version DeepEval 4.1.3, publiée le 12 juillet 2026, a ajouté `ToolPermissionMetric` et `AgentLoopDetectionMetric`, deux métriques déterministes. Cette version constitue un signal d’adoption, et non la preuve que les métriques couvrent tous les cas d’abus.
La vérification indépendante est également importante au-delà de la sécurité. Cette boucle hybride de revue de code AI utilise un reviewer distinct et un build réel comme preuves. La leçon plus large pour les systèmes réapparaît dans Code Agents After 21.54 Billion Tokens : la qualité du modèle ne peut pas remplacer la vérification et les limites opérationnelles.
Checklist de production
L’AI Agent Security Cheat Sheet d’OWASP aboutit à une conclusion opérationnelle similaire : appliquer le principe du moindre privilège, séparer la prise de décision de l’exécution irréversible, valider les entrées externes, imposer des limites aux boucles et conserver des logs d’actions structurés.
Ce que ces éléments ne prouvent pas
Les articles cités ici sont des preprints récents, et non des standards établis. Leurs échantillons, modèles, outils et benchmarks limitent la portée de chaque résultat numérique. La documentation commerciale décrit les contrôles disponibles, et non le fait qu’un déploiement particulier les utilise correctement. Les releases GitHub et les rapports d’issues montrent une pression d’ingénierie active, et non des taux de défaillance à l’échelle de l’écosystème.
L’architecture constitue donc un cadre de décision, et non une certification. Sa valeur vient du fait qu’elle rend la limite de sécurité inspectable : le modèle propose ; la policy décide ; l’infrastructure applique ; les outils agissent ; des preuves indépendantes vérifient.
Vérification des affirmations
| Affirmation | Statut | Preuve | Limitation |
|---|---|---|---|
| --- | --- | --- | --- |
| L’étude des permissions n’a trouvé aucune implémentation combinant les trois propriétés ciblées | Vérifiée | Michael et Roesner, arXiv:2607.13718 | Corpus de 21 éléments, échantillonné en boule de neige, dans un domaine en évolution rapide |
| Les serveurs MCP doivent vérifier l’audience du token et ne doivent pas transmettre les tokens du client | Vérifiée | Spécification d’autorisation MCP, 2025-06-18 | S’applique à l’autorisation du transport HTTP protégé |
| MemGhost a rapporté des taux de réussite end-to-end tenus à l’écart de 87,5 % et 71,4 % dans deux configurations testées | Nuancée | Yao et al., arXiv:2607.05189 | Modèles, agents, workflow d’e-mail et configuration d’évaluation spécifiques |
| AgentTether a réparé 69,11 % des exécutions initialement échouées dans son évaluation principale de 261 tâches | Nuancée | arXiv:2607.06273 | Tau-bench uniquement ; jugements d’un modèle auxiliaire ; variation selon le domaine |
| DeepEval 4.1.3 a ajouté des métriques déterministes de boucle et de permission d’outil | Vérifiée | Notes de version DeepEval v4.1.3 | La disponibilité d’une métrique n’établit pas une couverture complète |
