Agents IA qui paient : comment limiter leurs droits ?
Un texte caché dans une facture peut ordonner à un agent IA de payer un inconnu. Qu’est-ce qui bloque le paiement quand l’agent obéit ?

EN 30 SECONDES
Le moindre privilège, c’est ne donner à un agent IA que les accès dont sa tâche a besoin, rien de plus. Aucun filtre n’arrête à coup sûr un texte caché qui piège l’agent : le contrôle des droits doit donc se faire hors de l’agent, là où l’argent bouge.
À RETENIR · 3
- Traitez l’injection de prompt comme une menace persistante : un filtre rend l’attaque plus difficile sans prouver qu’elle échoue.
- Imposez les permissions hors du modèle, au niveau du compte, de l’API ou du service de paiement, pour limiter l’autorité d’un agent compromis.
- Le modèle est celui qu’ERC-3643 applique déjà : sur les transferts ordinaires, c’est le token, pas l’appelant, qui impose la permission au moment du transfert de valeur. Je suis l’un de ses cinq auteurs nommés.
Sur cette page
Aucune parade infaillible contre l’injection de prompt
EN BREF Jusqu’ici, la plupart des défenses sont des filtres, et un filtre rend l’attaque plus difficile sans prouver qu’elle échoue.
Traitez donc l’Injection de prompt Du texte caché dans ce que l’agent lit, un e-mail ou une page web, qui tente de lui donner de nouveaux ordres. Voir le glossaire comme un risque permanent. Gardez un filtre, mais associez-le à des permissions imposées hors du modèle, et testez les deux.
Un filtre a sa place, mais on ne mise pas un fonds dessus.
J’imposerais le Moindre privilège Ne donner à un agent que les accès dont sa tâche du moment a besoin, le temps de cette tâche, rien de plus. Voir le glossaire au compte, à l’API (l’interface qu’appellent les autres logiciels) et à la ressource. Un modèle manipulé ne peut alors pas décider de sauter les contrôles.
Partez du principe que l’agent peut être compromis, puis définissez et testez ce qu’il peut atteindre. C’est ce que j’appelle le Confinement Des limites posées hors de l’agent, pour qu’un agent piégé n’atteigne que ce qu’on lui a accordé. Voir le glossaire.
Faire confiance à l’appelant
Contrôler côté ressource
Je n’y suis pas arrivé par la sécurité de l’IA. J’y suis arrivé par plus de 10 ans dans le Web3, où j’ai entre autres écrit des règles de transfert dans des smart contracts, des programmes qui tournent sur une blockchain.
ERC-3643 est un standard pour les tokens, des actifs numériques inscrits sur une blockchain. Il sert à refuser un transfert interdit à l’appelant.
Dans la section suivante : Concrètement, à quoi ressemble un agent confiné ?
Les mots à connaître
EN BREF Le badge d’un prestataire venu pour une journée fonctionne déjà comme un agent confiné devrait le faire.
LES MOTS À CONNAÎTRE
- Injection de prompt
- Du texte caché dans ce que l’agent lit, un e-mail ou une page web, qui tente de lui donner de nouveaux ordres.
- Moindre privilège
- Ne donner à un agent que les accès dont sa tâche du moment a besoin, le temps de cette tâche, rien de plus.
- Confinement
- Des limites posées hors de l’agent, pour qu’un agent piégé n’atteigne que ce qu’on lui a accordé.
ADAM explique : Le badge n’ouvre que les salles du jour et cesse de fonctionner à 18 h. La limite : un prestataire peut demander avant d’obéir à un e-mail bizarre ; un agent peut suivre un texte caché, à la vitesse d’une machine.
Cet écart fixe la règle de conception : ce sont les portes, pas l’agent, qui doivent dire non.
EN CLAIR
On ne se demande plus si l’agent va bien se tenir. On se demande ce qu’il peut toucher s’il dérape, et on garde cette liste courte.
Dans la section suivante : Alors, où placer la porte, exactement ?
Le contrôle se fait côté ressource, pas côté appelant
EN BREF Placez le contrôle là où l’action se produit, pour que l’appelant ne puisse pas le contourner.
Les tokens me l’ont appris. Dans un token naïf, l’appli qui appelle est censée faire le contrôle de conformité avant le transfert.
Un jour, une appli l’oublie, ou un attaquant appelle le transfert en direct. Un détenteur inéligible entre alors dans la table de capitalisation, le registre des détenteurs. Le contrôle existait, mais rien ne l’obligeait à tourner.
ÉTAPE PAR ÉTAPE
Étape 1. Une demande arrive. Quelqu’un demande au token de bouger : une appli fiable, une appli boguée, un attaquant ou un agent détourné.
- Une demande arrive Quelqu’un demande au token de bouger : une appli fiable, une appli boguée, un attaquant ou un agent détourné.
- Les contrôles tournent quand même Un transfert ordinaire passe par les contrôles du token, quel que soit l’appelant. L’appelant ne peut pas les désactiver.
- Inéligible : c’est annulé Le registre répond que le destinataire n’est pas éligible. Le transfert est annulé (« revert ») : aucun token ne bouge.
- Éligible : ça passe Destinataire vérifié, contrôles passés : le transfert passe. L’intention de l’appelant n’a jamais compté dans la décision.
ERC-3643 contrôle les transferts ordinaires. Mais il prévoit aussi des opérations à privilèges, comme les transferts forcés. Il faut donc aussi faire confiance aux administrateurs et au registre d’identité.
Un agent victime d’une Injection de prompt Du texte caché dans ce que l’agent lit, un e-mail ou une page web, qui tente de lui donner de nouveaux ordres. Voir le glossaire est exactement cet appelant non fiable. Si votre sécurité dépend du bon vouloir de l’agent, l’injection lui retire ce choix.
OBJET OBTENU
Le contrôle côté ressource
Le modèle d’origine est sur la blockchain : voyez comment ERC-3643 fait respecter les droits au moment du transfert, dans le token lui-même.
NIVEAU TERMINÉ
Ce que vous savez maintenant
- Pourquoi un filtre seul ne protège pas un agent qui touche à l’argent.
- Pourquoi on se demande ce qu’un agent peut toucher, et non s’il va bien se tenir.
- Pourquoi le contrôle se place là où l’action a lieu, pas chez l’appelant.
Vérifiez par vous-même
Touchez ou cliquez une question pour voir la réponse.
Cas fictif : une même clé d’agent peut préparer et envoyer des paiements, et un filtre arrête la plupart des injections. L’agent est-il confiné ?
Non. La tentative que le filtre rate peut envoyer de l’argent, car rien hors du modèle ne l’arrête. Confiné veut dire qu’un raté ne peut toujours pas déplacer d’argent, car c’est le système de paiement qui décide, pas l’agent.
Ancien CTO d’Integra. Auteur nommé (1 sur 5) d’ERC-3643, premier auteur d’ERC-6960, co-auteur d’ERC-7410 et co-auteur d’ERC-8203, encore à l’état de brouillon. Conçoit des systèmes d’IA en production et des systèmes Web3 régulés.
Un projet à livrer ou un poste à pourvoir ?
Parlons de votre besoinSuivre les notes techniques
Recevez les nouveaux articles sur l’IA en production et les smart contracts par email.

