Une entrée utilisateur est une donnée non fiable, même lorsqu’elle ressemble à une instruction légitime. Le principal risque n’est pas qu’un modèle écrive une phrase indésirable, mais qu’une donnée influence un outil doté de permissions réelles.
Définir la frontière de confiance
Séparez instructions système, données utilisateur et contenu récupéré. Marquez les documents externes comme données et ne leur accordez jamais une priorité implicite. Validez longueur, type, encodage et format avant de construire l’état de l’agent.
Réduire les permissions des outils
Créez des outils étroits, avec schémas stricts et contrôles côté serveur. Utilisez des identités à moindre privilège et vérifiez l’autorisation pour chaque appel, indépendamment de ce que le modèle affirme. Les opérations de lecture et d’écriture ne doivent pas partager automatiquement les mêmes droits.
Ajouter des garde-fous dans le cycle
Le middleware peut détecter des données personnelles, appliquer des limites, filtrer les outils ou interrompre l’exécution. Les contrôles déterministes doivent précéder les jugements probabilistes lorsque la règle peut être exprimée en code.
Exiger une approbation humaine
Pour envoyer un message, modifier une donnée, exécuter du SQL ou publier, utilisez un mécanisme human-in-the-loop. Présentez l’action et les arguments réels, puis autorisez approbation, modification ou rejet. La persistance est nécessaire pour reprendre l’exécution en sécurité.
Tester avec des attaques réalistes
Ajoutez des cas d’injection directe, d’instructions cachées dans les documents, d’exfiltration de secrets, d’arguments hors périmètre et d’enchaînement d’outils. Vérifiez les journaux sans y enregistrer les secrets que vous cherchez à protéger.
Checklist avant mise en production
- Valider les entrées, les sorties et les permissions des outils.
- Tester les erreurs du fournisseur, les délais d’attente et les limites de coût.
- Ajouter des traces sans enregistrer de secrets ni de données personnelles inutiles.
- Mesurer la qualité sur un jeu de cas représentatifs avant chaque évolution.
Questions fréquentes
Un prompt système peut-il empêcher toutes les injections ?
Non. Il aide à orienter le modèle, mais la sécurité doit reposer sur permissions, validation, isolation et approbation.
Quand rendre l’approbation humaine obligatoire ?
Pour les actions irréversibles, externes, financières, sensibles ou à fort impact. Le seuil dépend du risque métier, pas du niveau de confiance déclaré par le modèle.