Les clés d’agent ont besoin de budgets de risque
Le dépôt shuriken-skills de Shuriken regroupe des instructions pour Claude Code, Codex CLI, GitHub Copilot CLI, Gemini CLI, Cursor, OpenCode et les agents compatibles avec AGENTS.md.1 Il oriente aussi ces agents vers une plateforme où des clés d’agent peuvent lire des données de marché, inspecter des portefeuilles, demander des cotations et exécuter des transactions lorsque l’utilisateur accorde cette capacité.2
Le point essentiel n’est pas le trading. Le point essentiel, c’est le schéma : les agents ont désormais besoin d’identifiants pour des outils capables de produire de vrais effets externes. Une clé d’agent ne devrait pas se comporter comme une clé API ordinaire. Elle devrait se comporter comme un budget de risque.
Une clé d’agent est un objet d’autorité borné. Elle doit définir ce que l’agent peut faire, ce qu’il ne peut pas faire, le niveau de risque qu’il peut créer, la manière dont les opérateurs peuvent inspecter ses actions, et la vitesse à laquelle quelqu’un peut la mettre en pause, la remplacer ou la révoquer. Les instructions de prompt aident, mais ce sont les limites côté serveur qui fixent la frontière.
TL;DR
MCP et les compétences portables facilitent la connexion des agents à des systèmes externes.34 Cette portabilité augmente les enjeux autour des identifiants. La documentation de Shuriken décrit la bonne forme de contrôle pour les outils dangereux : créer une clé d’agent, n’accorder que les permissions nécessaires, appliquer les limites côté serveur, journaliser l’activité et révoquer la clé lorsque l’intégration n’en a plus besoin.256 Les recherches récentes sur le moindre privilège vont dans le même sens : les compétences peuvent effectuer des actions qui dépassent le périmètre minimal d’une tâche précise, si bien que les permissions doivent devenir sensibles à la tâche au lieu de rester définies à l’échelle du paquet.9
La leçon dépasse la finance. Tout outil d’agent qui envoie de l’argent, publie du contenu, modifie une infrastructure, envoie des messages à des clients ou touche à des données privées a besoin d’une clé cadrée par un budget de risque. Ce budget doit vivre sous le modèle et sous le fichier de compétence. Le serveur doit refuser une action non autorisée, même lorsque l’agent la demande avec assurance.
Points clés
- Pour les créateurs d’outils d’agent : concevez les identifiants comme des budgets de capacités, pas comme des jetons porteurs universels.
- Pour les équipes sécurité : séparez les périmètres de lecture des périmètres d’écriture ou d’exécution, puis ajoutez des limites de dépense, de cadence et d’objets côté exécution.
- Pour les équipes produit : placez les journaux d’activité et les contrôles de révocation dans l’UI principale, pas au fond d’une page de paramètres.
- Pour les créateurs MCP : traitez la distribution des outils et l’autorité des identifiants comme deux plans distincts. Les compétences peuvent enseigner. Les clés doivent contraindre.
- Pour les opérateurs : commencez en lecture seule, validez le chemin d’intégration, puis ajoutez l’accès en écriture uniquement lorsqu’un plan de réponse existe.
Les compétences distribuent les instructions. Les clés distribuent l’autorité.
Le dépôt shuriken-skills illustre ce nouveau schéma de distribution. Une seule arborescence contient du Markdown de compétence, des manifestes de plugin pour Claude et Codex, un manifeste de plugin Cursor, un fichier d’extension Gemini, un plugin OpenCode, une crate Rust et un chemin de repli AGENTS.md.17
Ce packaging compte, car les instructions d’agent circulent désormais entre clients. Un fournisseur peut apprendre à Codex, Claude Code, Cursor, Gemini et à d’autres outils à s’intégrer à la même API. La documentation MCP décrit les compétences d’agent comme des ensembles d’instructions portables qui donnent aux assistants de codage une connaissance du domaine, y compris des décisions de conception sur le modèle de déploiement, les flux d’authentification et les modèles d’outillage.4 J’ai traité le versant distribution dans Les compétences d’agent ont besoin de gestionnaires de paquets ; le versant sécurité commence lorsque ces paquets demandent une véritable autorité.
Les instructions portables résolvent un problème et en créent un autre. Elles aident un agent à apprendre le bon chemin d’intégration. Elles ne rendent pas l’action qui en résulte sûre. Une compétence peut dire au modèle d’appliquer le moindre privilège. Un prompt peut dire « soyez prudent ». Un README peut expliquer les périmètres recommandés. Aucun de ces contrôles n’arrête une requête authentifiée une fois que le modèle décide de l’envoyer.
Cette tension rejoint le problème plus large de MCP dans Les serveurs MCP sont la nouvelle surface d’attaque : l’accès aux outils étend la surface d’action plus vite que les anciennes habitudes d’approbation ne peuvent suivre. Les compétences d’agent rendent le chemin d’instruction portable. Le système de clés doit maintenir le chemin d’autorité étroit.
C’est pourquoi les identifiants ont besoin de leur propre conception. Le fichier de compétence vit dans le plan des instructions. La clé d’agent vit dans le plan de l’autorité. Mélanger ces plans produit un système fragile : le même texte qui enseigne à l’agent quoi faire tente aussi de l’empêcher d’en faire trop.
La frontière doit être côté serveur.
Le schéma de Shuriken est un budget de risque
La documentation de l’Agent Kit de Shuriken décrit la clé d’agent comme l’objet qui contrôle ce qu’un outil IA peut faire, depuis la lecture de prix de tokens jusqu’à l’exécution de transactions, avec des limites appliquées côté serveur avant que l’agent commence à agir.5 La page des permissions nomme six catégories de permissions et précise que les appels hors du périmètre accordé échouent avec une erreur d’autorisation.6
Ce cadrage évite aussi une erreur fréquente dans les démonstrations publiques d’agents : prendre du code ouvert, des instructions visibles ou un manifeste de plugin lisible pour une frontière de sécurité. L’ouverture peut faciliter la revue, mais l’open source n’est pas une frontière de sécurité. La frontière se trouve là où les actions non autorisées échouent.
Ce schéma comporte cinq éléments :
| Contrôle | Pourquoi c’est important |
|---|---|
| Permissions cadrées | Une clé en lecture seule peut inspecter. Une clé de trading peut agir. Cette distinction change le rayon d’impact. |
| Limites d’objets | L’accès aux portefeuilles peut rester étroit au lieu de couvrir tous les actifs connectés. |
| Limites de dépense | Les plafonds d’achat, de vente, quotidiens, horaires, de slippage, de gas et de transactions simultanées transforment l’autorité en budget mesurable. |
| Journaux d’activité | Les opérateurs peuvent inspecter les appels d’outils, les cotations, les horodatages et les statuts au lieu de faire confiance à une réponse finale. |
| Révocation | Une clé peut être supprimée sans mettre fin à la session principale de l’utilisateur ni à toutes les autres intégrations. |
C’est la bonne forme pour les outils d’agent à haut risque. La conception ne repose pas sur l’idée que le modèle deviendra sage. Elle suppose que le modèle peut se tromper, être trop sûr de lui, être compromis par une entrée ou simplement recevoir une mauvaise instruction. Le serveur continue d’appliquer la clé.
Je copierais le schéma de contrôle, pas le domaine. Une clé de déploiement, une clé de publication, une clé de messagerie client, une clé de remboursement Stripe et une clé de trading doivent toutes répondre à la même question : quel est le dommage maximal que cette clé peut créer avant qu’un humain le remarque ?
Les limites côté serveur valent mieux que les promesses de prompt
La documentation OpenAI Agents SDK présente les garde-fous comme des contrôles pouvant s’exécuter autour d’un agent, notamment des garde-fous d’entrée et de sortie avec déclencheurs.8 Les garde-fous sont utiles parce qu’ils détectent le risque avant ou après l’exécution du modèle. Ils restent toutefois sur une couche différente de l’autorité des identifiants.
Un garde-fou de sortie peut signaler une mauvaise action proposée. Une limite de clé côté serveur peut rejeter l’action même si le garde-fou la manque. Cette distinction compte dès que l’action dépasse le texte.
Prenons un outil capable de publier un article, d’envoyer un e-mail, de modifier un enregistrement DNS, de fusionner une pull request ou d’exécuter une transaction. Une règle de prompt peut dire « demandez d’abord ». Un garde-fou peut chercher du texte à haut risque. Une clé côté serveur peut appliquer la limite réelle :
| Action risquée | Règle au niveau du prompt | Frontière au niveau de la clé |
|---|---|---|
| Envoyer un e-mail | « Ne pas envoyer sans approbation » | La clé peut seulement rédiger, pas envoyer |
| Publier du contenu | « Vérifier les citations d’abord » | La clé peut écrire en préproduction, pas en production |
| Modifier l’infrastructure | « Éviter les actions destructrices » | La clé peut lire la configuration, pas modifier les ressources |
| Exécuter une transaction | « Rester prudent » | La clé plafonne la dépense, la cadence, le slippage et l’accès aux portefeuilles |
| Écrire aux clients | « Utiliser le texte approuvé » | La clé ne touche que l’audience de test jusqu’à sa promotion |
La règle de prompt peut échouer silencieusement. La frontière au niveau de la clé crée un refus observable. Ce refus devient une preuve. L’agent a tenté de dépasser son périmètre. Le serveur a refusé. L’opérateur peut inspecter la requête échouée et décider si l’intégration a besoin d’une nouvelle clé, d’un flux de travail plus étroit ou d’une étape d’approbation humaine.
C’est la même logique que dans La barrière de preuve : la confiance doit venir d’une preuve observable, pas de l’assurance. Une réponse finale disant « je suis resté dans les limites » vaut moins qu’un journal serveur montrant quelle limite s’est déclenchée.
Cela transforme aussi la réponse finale en quelque chose de plus proche d’un dossier de revue. Les dossiers de revue sont la nouvelle réponse finale soutient que le travail sérieux des agents a besoin d’artefacts de preuve. Les refus d’identifiants, les journaux d’activité et les changements de clés cadrées sont la version sécurité de cet artefact.
La forme minimale des identifiants d’agent
Tout identifiant d’agent capable d’affecter le monde extérieur devrait porter six propriétés.
| Propriété | Exigence minimale |
|---|---|
| Finalité | Une clé par intégration ou tâche, pas une clé réutilisée partout |
| Périmètre | Permissions explicites de lecture, d’écriture, d’exécution, de notification et d’administration |
| Budget | Limites de dépense, de cadence, de volume, d’objet, d’audience et de durée lorsque le domaine le permet |
| Visibilité | Journal d’activité avec type de requête, objet cible, horodatage, statut et raison d’échec |
| Cycle de vie | Rotation, pause et révocation sans casser les intégrations sans lien |
| Chemin de promotion | Commencer en lecture seule, puis élargir uniquement après des tests locaux, une preuve en préproduction et une revue opérateur |
Les compétences Shuriken disent la même chose en langage d’intégration : créer une clé par intégration, accorder le périmètre minimal, garder les clés secrètes, les remplacer après une suspicion de compromission et révoquer les intégrations retirées.7 Leur compétence de cadrage sépare aussi les périmètres de lecture des périmètres de trading et met en garde contre les clés larges créées « au cas où ».7
Le vocabulaire de la recherche rattrape le schéma produit. L’article SkillScope décrit le sur-privilège comme conditionné par la tâche : une même action de compétence peut être valable pour une demande utilisateur et excessive pour une autre.9 Ses auteurs rapportent 7 039 compétences avec des comportements sur-privilégiés validés et une réduction de 88,56 % des instances d’actions sur-privilégiées déclenchées après contrainte du privilège par leur cadre.9 Vous n’avez pas besoin de copier ce mécanisme exact pour accepter la leçon produit. Les identifiants d’agent devraient refléter la tâche en cours, pas la plus grande tâche que l’outil puisse imaginer.
Cette recommandation devrait devenir normale dans la conception produit des agents. Les clés API larges avaient du sens lorsqu’un service backend possédait un chemin de code étroit. Les agents ne se comportent pas comme un unique chemin de code étroit. Ils planifient, réessaient, composent des outils, résument des échecs, appellent des scripts d’aide et répondent à des entrées externes. L’identifiant doit supposer une variance comportementale plus forte qu’un jeton de service ordinaire.
C’est pourquoi La recherche de code par agent a un problème de budget de tokens compte même dans un article sur les identifiants. Les agents décident souvent avec un contexte partiel. Une clé étroite donne au système une deuxième chance lorsque la fenêtre de contexte manque le détail dangereux.
Ce qu’il ne faut pas copier
Ne copiez pas l’optimisme marketing.
La documentation publique de Shuriken emploie des formulations fortes sur des agents qui agissent pendant l’absence des utilisateurs et captent des opportunités.2 Ce langage correspond peut-être à leur produit. Il ne devrait pas devenir la posture de sécurité par défaut pour les outils d’agent qui produisent des effets externes.
Pour les actions à haut risque, « pendant votre absence » doit avoir un sens opérationnel plus étroit :
- l’agent peut collecter des informations pendant l’absence de l’utilisateur ;
- l’agent peut préparer une action brouillon pendant l’absence de l’utilisateur ;
- l’agent ne peut exécuter que dans un petit budget explicite, appliqué côté serveur ;
- l’opérateur peut inspecter chaque action ensuite ;
- l’opérateur peut mettre en pause ou révoquer la clé immédiatement.
C’est la différence entre autonomie et abdication. L’utilisateur peut déléguer l’action. Le système ne peut pas déléguer la responsabilité.
La même prudence vaut pour les compétences et les manifestes de plugin. Un dépôt peut prendre en charge tous les clients d’agent et mériter tout de même un réglage par défaut prudent. Le .codex-plugin/plugin.json que j’ai inspecté liste une capacité de lecture dans les métadonnées d’interface, tandis que la documentation explique que le trading exige des permissions et des limites explicitement activées.7 C’est la bonne direction : la distribution peut être large pendant que l’autorité commence étroite.
La règle de décision
Lorsqu’une nouvelle intégration d’agent demande un identifiant, classez la clé avant de l’émettre.
| Type d’intégration | Clé de départ | Exigence de promotion |
|---|---|---|
| Rechercher, lire, résumer | Lecture seule | Aucune, sauf si le périmètre de données privées s’élargit |
| Rédiger du contenu ou du code | Écriture en préproduction seulement | Revue humaine et barrière de publication |
| Notifier ou envoyer des messages | Audience de test seulement | Journaux de livraison et chemin de désabonnement |
| Modifier des paramètres de production | Lecture seule d’abord | Plan de changement, approbation, rollback et journal d’audit |
| Déplacer de l’argent ou des actifs | Pas d’accès d’exécution au départ | Petit budget appliqué côté serveur, revue d’activité et exercice de révocation |
| Gérer d’autres clés | À éviter par défaut | Flux d’administration séparé avec approbation humaine |
Ce tableau donne à l’agent un chemin utilisable sans prétendre que le modèle lui-même porte la frontière. Le flux de travail peut encore s’améliorer. La clé empêche cette amélioration de devenir une autorité sans limite. Les traces d’exécution d’agent sont le contrat d’exécution formule le même point côté audit : si le système ne peut pas montrer ce qui s’est passé, il ne peut pas prouver que l’agent a agi dans le contrat prévu.
J’ai écrit sur la même séparation dans La sécurité du sandbox d’agent est une suggestion : un modèle peut fonctionner entièrement dans les permissions accordées et produire malgré tout un résultat dangereux. Les clés d’agent ont besoin de budgets de risque, car permission et sécurité ne sont pas la même chose.
FAQ
Les clés d’agent sont-elles simplement des clés API avec un nouveau nom ?
Non. Une clé API ordinaire accorde souvent un accès large à un service. Une clé d’agent devrait accorder un ensemble borné de capacités pour une seule intégration, avec des limites côté serveur, des journaux d’activité et une révocation qui n’affecte pas la session principale de l’utilisateur.
Pourquoi l’application côté serveur est-elle importante ?
Le serveur voit la requête finale. Une instruction de modèle, un fichier de compétence ou un garde-fou peut manquer une mauvaise action. Un contrôle de permission côté serveur peut rejeter la requête lorsque la clé n’a pas le périmètre nécessaire ou dépasse une limite configurée.6
Tous les agents devraient-ils commencer en lecture seule ?
Oui, lorsque l’outil a des effets externes significatifs. Commencez avec un accès en lecture seule, vérifiez le chemin d’intégration, puis ajoutez des permissions d’écriture ou d’exécution uniquement lorsque l’équipe sait quels journaux, limites, approbations et étapes de rollback existent.
MCP rend-il les identifiants d’agent plus risqués ?
MCP facilite la connexion d’outils externes entre clients.3 Cette commodité augmente l’importance de la conception des identifiants. L’accès portable aux outils devrait venir avec des clés étroites, pas avec une confiance plus large.
Que devraient copier les équipes chez Shuriken ?
Copiez la séparation entre distribution des instructions et autorité côté serveur : les compétences portables peuvent enseigner l’intégration, tandis que les clés cadrées, les limites, les journaux et la révocation contraignent l’action. Ne copiez pas le comportement de trading propre au domaine sauf si les contrôles produit, juridiques et opérationnels le justifient.
Références
-
ShurikenTrade, dépôt GitHub
shuriken-skillset inspection d’un clone pendant la session en cours le 18 mai 2026. Le dépôt contenait.claude-plugin/plugin.json,.codex-plugin/plugin.json,.cursor-plugin/plugin.json,gemini-extension.json,.opencode/plugins/shuriken-skills.js,skills/*/SKILL.md,GEMINI.mdet des métadonnées de paquet pour la version0.2.0. ↩↩ -
Shuriken, « AI Agent Kit, » documentation Shuriken. La vérification pendant la session en cours a trouvé un statut 200 et des marqueurs pour Agent Kit, MCP, l’application côté serveur, les affirmations sur les clés privées et les limites d’exécution. ↩↩↩
-
Model Context Protocol, « What is the Model Context Protocol? » documentation MCP. Source pour MCP comme standard ouvert qui connecte les applications IA aux sources de données, aux outils et aux flux de travail, y compris aux systèmes capables d’agir pour le compte d’un utilisateur. ↩↩
-
Model Context Protocol, « Build with Agent Skills, » documentation MCP. Source pour les compétences d’agent comme ensembles d’instructions portables qui encodent des décisions de conception, des flux d’authentification, des modèles de conception d’outils et la découverte de surface d’action. ↩↩
-
Shuriken, « Create an Agent Key, » documentation Shuriken. Source pour les clés d’agent, les modèles lecture seule et trading, les limites côté serveur, la copie unique de clé, les journaux d’activité, les contrôles de pause/révocation et la configuration des limites de trading. ↩↩
-
Shuriken, « Permissions & Safety, » documentation Shuriken. Source pour les six catégories de permissions, l’application côté serveur, les limites de trading, les configurations recommandées et les bonnes pratiques de sécurité. ↩↩↩
-
Inspection pendant la session en cours de
skills/agent-keys/SKILL.md,skills/scoping/SKILL.md,.codex-plugin/plugin.json,.claude-plugin/plugin.jsonetpackage.jsonà partir d’un clone superficiel dehttps://github.com/ShurikenTrade/shuriken-skills.gitle 18 mai 2026. Source pour la recommandation d’une clé par intégration, les périmètres minimaux, la séquence de rotation/révocation, les catégories de périmètres lecture contre trading et les métadonnées du plugin Codex. ↩↩↩↩ -
OpenAI Agents SDK, « Guardrails, » documentation OpenAI. Source pour le cadrage des garde-fous d’entrée/sortie, les déclencheurs et les garde-fous exécutés autour de l’exécution de l’agent. ↩
-
Jiangrong Wu, Yuhong Nan, Yixi Lin, Huaijin Wang, Yuming Xiao, Shuai Wang et Zibin Zheng, « SkillScope: Toward Fine-Grained Least-Privilege Enforcement for Agent Skills, » arXiv, soumis le 7 mai 2026. Source pour le sur-privilège conditionné par la tâche dans les compétences d’agent, les 7 039 compétences sur-privilégiées validées et la réduction de 88,56 % des instances d’actions sur-privilégiées déclenchées dans leur évaluation. ↩↩↩