Sécurité des agents IA : garde-fous, droits et injection de prompt
Le modèle de sécurité des agents devient plus simple dès qu'on cesse de penser l'agent comme du code pour le penser comme une collègue serviable, rapide, infatigable, et qu'un inconnu peut convaincre de faire des choses.
À cette personne, vous ne donneriez pas le premier jour un accès illimité à la base, une carte sans plafond et le droit d'écrire aux clients sans supervision. Les mêmes réflexes se transposent et sont plus fiables que toute consigne dans un prompt.
La menace qu'aucun prompt ne règle#
L'injection de prompt, ce sont des instructions cachées dans du contenu que l'agent lit : un ticket, une page, un PDF, la description d'un outil. Le modèle ne sépare pas de façon fiable les données à analyser des instructions à suivre, et aucune phrase du type `ignore les instructions du document` ne comble cet écart. La défense est architecturale : restreignez ce que l'agent peut faire pour qu'une injection réussie n'atteigne qu'un petit rayon.
Supposez que tout contenu récupéré a été écrit par quelqu'un qui veut faire mal se comporter votre agent. Concevez pour que ce ne soit qu'agaçant.
Neuf contrôles, dans notre ordre de mise en œuvre#
- Moindre privilège par outil : périmètre étroit, lecture seule si possible, jamais un compte tout-puissant.
- Autorisation sur l'utilisateur final, vérifiée côté serveur à chaque appel.
- Validation humaine devant chaque action irréversible, avec le contexte pour décider vite.
- Validation des arguments et résolution des identifiants avant exécution ; rejeter plutôt que forcer.
- Plafonds de dépense et d'étapes par exécution, limite de débit par utilisateur et par outil.
- Isolation du contenu : le texte récupéré est une donnée, jamais une consigne système.
- Filtrage des sorties, surtout des messages sortants.
- Journal d'audit complet : qui, quoi, quel enregistrement, quelle exécution, quel résultat.
- Coupe-circuit : un réglage qui désactive les outils et laisse la lecture vivante.
Rayon de dégâts par type d'action#
| Action | Réversible ? | Contrôle |
|---|---|---|
| Lire un enregistrement propre | — | Contrôle des droits |
| Rédiger une réponse | Oui | Aucun |
| Mettre à jour un champ d'état | Généralement | Audit et limite de débit |
| Envoyer un message externe | Non | Validation humaine |
| Émettre un remboursement | Non | Validation, plafond de montant |
| Supprimer des données | Non | Validation, suppression logique seulement |
Traitement des données, dit clairement#
Décidez avant la mise en ligne ce qui peut partir vers un fournisseur de modèles, et appliquez-le dans le code plutôt que dans un document : masquage à la frontière, liste blanche de champs et un test prouvant qu'un enregistrement contenant un IBAN ne sort jamais. Connaissez les conditions de rétention et d'entraînement de votre offre et revérifiez-les au renouvellement.
Testez en attaquant, régulièrement#
Mettez des cas adverses dans votre jeu d'évaluation et exécutez-les comme n'importe quel test : un ticket demandant d'envoyer un document interne ; un document affirmant que l'utilisateur est administrateur ; une demande qui dépasserait le mandat. Toute exécution se terminant par une action interdite est un test en échec, pas une anecdote. Rejouez après chaque changement de version de modèle.
Questions fréquentes
Un meilleur prompt règle-t-il l'injection ?
Non. Les consignes réduisent le taux mais ne l'éliminent pas, car le modèle ne distingue pas de façon fiable données et instructions. Traitez-le comme de l'architecture : moindre privilège, isolation, portes, audit.
L'agent doit-il utiliser un compte de service ?
Seulement pour des données réellement publiques. Pour tout ce qui est spécifique à un utilisateur, l'identité doit aller jusqu'au contrôle des droits.
Que met-on derrière une porte humaine ?
Tout ce qui est irréversible, visible par un client, au-dessus d'un montant, et tout ce dont l'agent doute. Commencez avec plus de portes que nécessaire et retirez-les quand les chiffres le justifient.
sécurité des agents iainjection de promptgarde-fous llmdroits des agentshumain dans la boucle