Retour au blog
checklistmise en productionOWASP LLM06agents IA

Checklist sécurité d'un agent IA avant production

Publié le 2026-10-307 min de lecture
En bref : Avant de mettre un agent IA en production, vérifiez 20 points répartis en cinq familles : périmètre et permissions, entrées non fiables, sorties et exfiltration, validation humaine, observabilité. Les contrôles qui comptent s'appliquent hors du modèle, dans le code et les droits, car le prompt ne garantit rien.

Pourquoi une checklist propre aux agents IA ?

Parce qu'un agent n'est pas un chatbot : il appelle des outils, lit des données et agit sans que vous validiez chaque étape. Le risque change de nature, puisqu'une réponse erronée devient une action erronée.

L'OWASP définit l'Excessive Agency (LLM06:2025) comme la vulnérabilité qui permet des actions dommageables en réponse à des sorties inattendues, ambiguës ou manipulées du modèle, quelle que soit la cause (hallucination ou injection de prompt). La checklist ci-dessous traduit ce principe en points vérifiables. Elle complète, sans le remplacer, un test d'intrusion complet de l'agent.

Comment l'utiliser : pour chaque point, notez OK, À corriger ou Sans objet, avec la preuve (capture, ligne de configuration, extrait de journal). Un point sans preuve est un point non vérifié.

Quels sont les 20 points à vérifier ?

Voici la checklist complète. Les points marqués Bloquant doivent être résolus avant toute mise en production.

N°FamillePoint à vérifierPriorité
1PérimètreChaque outil de l'agent est justifié par un cas d'usage écritBloquant
2PérimètreAucun outil ouvert (shell libre, URL arbitraire, requête SQL libre)Bloquant
3PérimètreLes comptes de service ont le minimum de droits (lecture seule quand c'est possible)Bloquant
4PérimètreL'agent agit avec les droits de l'utilisateur qui l'appelleImportant
5PérimètreLes secrets (clés, jetons) ne figurent ni dans le prompt ni dans le contexteBloquant
6EntréesToutes les sources de contenu tiers sont listées (e-mails, pages, tickets, documents, RAG)Bloquant
7EntréesLe contenu tiers est balisé comme donnée et n'a aucune autorité d'instructionImportant
8EntréesLes webhooks et API d'entrée sont authentifiésBloquant
9EntréesLe RAG applique le contrôle d'accès avant l'envoi au modèleBloquant
10EntréesUn test d'injection de prompt indirecte a été joué sur chaque sourceBloquant
11SortiesLa sortie du modèle est traitée comme non fiable avant d'atteindre un autre systèmeBloquant
12SortiesAucun rendu automatique d'images ou de liens externes dans l'interfaceImportant
13SortiesLes appels sortants sont limités à une liste blanche de domainesImportant
14SortiesLe prompt système ne contient aucune donnée sensibleImportant
15ValidationUne approbation humaine précède tout envoi, paiement, suppression ou écriture sensibleBloquant
16ValidationLes limites (montants, destinataires, volumes) sont appliquées dans le codeBloquant
17ObservabilitéChaque appel d'outil est journalisé avec ses paramètres et son déclencheurImportant
18ObservabilitéDes plafonds de débit et de coût existent par utilisateur et par sessionImportant
19ObservabilitéUne alerte signale les comportements anormaux (volume, nouveaux destinataires)Important
20ExploitationUn interrupteur d'arrêt et une procédure de révocation des accès sont testésBloquant

Les sections suivantes expliquent le raisonnement derrière chaque famille.

Que vérifier sur le périmètre et les permissions (points 1 à 5) ?

Vérifiez que l'agent ne peut faire que ce que son cas d'usage exige. L'OWASP distingue trois causes d'Excessive Agency : trop de fonctionnalités, trop de permissions, trop d'autonomie. Les points 1 à 5 traitent les deux premières.

Un test simple : listez les outils et, pour chacun, écrivez la phrase « l'agent en a besoin pour… ». Ceux dont vous ne trouvez pas la phrase sont à retirer. Préférez des outils étroits (« créer un brouillon de réponse ») à des outils ouverts (« envoyer un e-mail à n'importe qui »). Pour les agents reliés à des serveurs MCP, appliquez la même logique à chaque serveur : notre page sécurité MCP détaille les risques.

Que vérifier sur les entrées (points 6 à 10) ?

Vérifiez que tout contenu que l'agent lit mais que vous ne maîtrisez pas est traité comme hostile. C'est le terrain de l'injection de prompt indirecte, décrite sur notre page injection de prompt.

Le point 10 est facile à oublier : le test se limite parfois au champ de saisie du chat sans couvrir l'e-mail, la page web ou le document que l'agent traite en arrière-plan. Le point 9 mérite aussi une attention : un RAG qui indexe tous les documents sans filtre par habilitation expose des données à tout utilisateur qui pose la bonne question.

Que vérifier sur les sorties (points 11 à 14) ?

Vérifiez que ce que produit le modèle ne peut ni attaquer un autre composant ni faire sortir des données. L'OWASP (LLM05:2025, Improper Output Handling) demande de traiter le modèle comme un utilisateur non fiable et de valider sa sortie avant qu'elle atteigne une fonction en aval.

Concrètement : encodage selon le contexte (HTML, SQL), requêtes paramétrées, politique de sécurité de contenu (CSP) stricte dans l'interface, et refus de charger des images ou liens externes générés par le modèle. Sur le point 14, l'OWASP rappelle que le prompt système ne doit pas être traité comme un secret ni comme un contrôle de sécurité.

Que vérifier sur la validation humaine (points 15 et 16) ?

Vérifiez qu'aucune action irréversible ne s'exécute sans accord explicite d'une personne, et que les plafonds sont codés en dur. Une règle écrite dans le prompt (« ne rembourse jamais plus de 50 € ») peut être contournée ; une vérification dans l'API de remboursement ne le peut pas.

Veillez à ce que l'approbation soit informée : la personne doit voir l'action exacte (destinataire, montant, contenu), pas un résumé rédigé par le modèle. Sinon, l'attaquant peut manipuler le résumé.

Que vérifier sur l'observabilité et l'exploitation (points 17 à 20) ?

Vérifiez que vous saurez détecter, comprendre et arrêter un détournement. Sans journal des appels d'outils, vous ne pourrez pas reconstituer ce qui s'est passé. L'OWASP recommande la journalisation et la limitation de débit comme mesures de réduction des dégâts.

Testez l'interrupteur d'arrêt avant d'en avoir besoin : qui peut couper l'agent, en combien de temps, et comment révoquer les jetons qu'il détient ? Une procédure jamais essayée est une procédure qui échouera le jour de l'incident.

Dans quel ordre traiter les écarts ?

Commencez par les points bloquants qui touchent aux permissions et à la validation humaine (1, 2, 3, 15, 16), car ils réduisent l'impact de toutes les autres failles. Une injection réussie contre un agent sans droits dangereux produit peu de dégâts.

Traitez ensuite les entrées (6 à 10) et les sorties (11 à 14), puis l'observabilité. Refaites la checklist à chaque ajout d'outil, de source de données ou de changement de modèle, et conservez les preuves : elles servent aussi lors d'un audit client ou d'un questionnaire de sécurité.

Comment passer de la checklist au test réel ?

La checklist vérifie la conception ; un test adverse vérifie qu'elle tient face à quelqu'un qui cherche la faille. Après les 20 points, faites attaquer l'agent par des scénarios réels : contenu piégé, tentative de sortie de périmètre, abus d'outil.

Notre Red Team Agent Express (1 900 €, 5 jours) couvre précisément cette étape pour un agent. Pour plusieurs agents ou une livraison en marque blanche par une agence, voyez le test d'intrusion d'agent IA. La logique d'ensemble est présentée sur notre page red team d'agents IA.

Votre produit embarque un agent IA ? CleanIssue teste ce qu’un inconnu peut lui faire faire avec le Red Team Agent Express (5 jours, 1 900 €), ou un red team sur mesure pour plusieurs agents et serveurs MCP.

Sachez ce que votre agent peut faire avant un attaquant.

Présentez-nous votre agent, ses outils et votre contexte. Rendez-vous découverte de 30 minutes, gratuit.

Prendre rendez-vous