Guide · Cybersécurité
Empêcher la fuite de données par une IA : contrôles utiles et vérifiables
Réduire les fuites de données dans un projet IA : cartographie, minimisation, permissions, validations de sortie, rétention et tests.
Empêcher une fuite de données par une IA ne consiste pas seulement à demander au modèle de ne pas révéler d’informations. Une fuite peut se produire à l’entrée, dans un prompt envoyé à un fournisseur, via un outil, dans une sortie générée, un log, une exportation ou un accès trop large accordé à un agent. La protection commence par savoir quelles données existent, qui peut les lire et où elles peuvent sortir.
Le but réaliste est de réduire l’exposition et l’impact, puis de détecter les écarts. Aucun contrôle unique ne garantit qu’un modèle, un outil ou un utilisateur ne fera jamais d’erreur. Des permissions minimales, une validation de sortie, une rétention réduite et des tests de parcours donnent une défense plus solide qu’une règle textuelle isolée.
Ce que vous allez apprendre
Vous allez cartographier les données qui traversent une application IA, minimiser ce que l’agent reçoit, limiter les identités et outils, valider les sorties, protéger les traces et tester les scénarios de fuite avec des données factices. La méthode est adaptée à un chatbot, un RAG ou un agent avec actions ; ajustez-la à votre niveau de sensibilité.
Prérequis
- Un inventaire des composants IA, sources de données et fournisseurs externes.
- Une classification simple des données : publique, interne, confidentielle, réglementée ou secrète.
- Des comptes de test et un environnement sans données de production.
- Un propriétaire pour les données et un processus de réponse à incident.
- Une liste des usages attendus de chaque information par l’agent.
Ne partez pas de l’idée que les données internes peuvent être envoyées à n’importe quel modèle ou outil. La finalité, le contrat, les réglages de conservation et les autorisations doivent être vérifiés pour chaque flux.
1. Cartographier les données et leurs sorties
Suivez une donnée représentative depuis son origine : formulaire, base, document, ticket ou fichier. Notez où elle est transformée, ajoutée au contexte, transmise au modèle, utilisée par un outil, stockée et journalisée. Ajoutez les sorties possibles : réponse utilisateur, export, email, webhook, tableau de bord, fichier et logs. Cette carte révèle souvent des copies invisibles créées pour le debug ou le monitoring.
Classez la donnée selon son niveau de sensibilité et sa finalité. Une adresse email nécessaire à une notification n’a pas à être incluse dans un prompt de résumé ; un document confidentiel peut nécessiter une recherche locale ou une séparation d’index. La classification aide à définir ce qui peut traverser une frontière externe et ce qui doit rester dans un environnement contrôlé.
Vérification : choisissez un document de test marqué confidentiel et vérifiez, étape par étape, les systèmes qui le lisent et ceux qui pourraient le renvoyer. Les étapes inconnues doivent être corrigées ou signalées.
2. Minimiser les entrées envoyées à l’IA
N’envoyez au modèle que les fragments nécessaires à la tâche. Une recherche documentaire peut fournir des passages limités et autorisés plutôt qu’un dossier entier ; un agent peut recevoir un identifiant interne plutôt qu’un profil complet. Cette minimisation améliore souvent la confidentialité et réduit le risque que le contexte contienne une instruction hostile ou une donnée sans rapport.
Séparez les environnements. Les tests, l’évaluation et le développement ne devraient pas utiliser des exports de production par défaut. Si un échantillon réel est indispensable, réduisez-le, anonymisez-le lorsque c’est possible et limitez les personnes et systèmes qui y accèdent. Documentez les exceptions au lieu de laisser une copie temporaire devenir permanente.
Vérification : comparez le contexte envoyé à l’IA avec la question posée. Retirez une donnée non nécessaire et confirmez que la tâche reste réalisable.
3. Limiter les accès et les outils
Donnez à l’agent une identité dédiée avec le scope le plus étroit possible. Un outil de lecture doit rester en lecture, un connecteur doit viser le dossier ou la collection autorisée, et une clé temporaire doit pouvoir être révoquée. Évitez les tokens partagés qui donnent accès à plusieurs environnements ou à un compte humain.
Les outils et connecteurs peuvent aussi renvoyer des données inattendues. Définissez les chemins, champs et domaines permis. Une instruction contenue dans une source externe ne peut jamais étendre le périmètre de l’outil. Pour une action à impact, ajoutez une validation humaine ou un service indépendant qui vérifie le paramètre et la destination.
Vérification : essayez un accès à un dossier ou une API hors scope avec une identité de test. Il doit échouer, tandis que l’accès autorisé continue de fonctionner.
4. Valider les sorties avant diffusion
Une réponse générée peut citer, reformuler ou déduire une information non destinée à son destinataire. Avant publication, email ou appel API, appliquez des contrôles adaptés : schéma de sortie, liste de champs autorisés, vérification de destinataire, classification du contenu et confirmation humaine pour les cas sensibles. Un contrôle de format n’est pas une compréhension parfaite, mais il bloque de nombreuses sorties non prévues.
N’utilisez pas la réponse du modèle comme seule preuve qu’elle est sûre. Si le système doit produire une action, séparez la préparation de l’exécution. L’agent propose ; une couche de validation vérifie la destination, les droits et les données incluses. Cette séparation limite l’effet d’une erreur de raisonnement ou d’une injection.
Vérification : créez un scénario avec une donnée factice interdite dans le contexte. La sortie ou le validateur doit la retirer, refuser l’action ou demander une revue, selon votre politique.
5. Protéger les traces et la rétention
Prompts, réponses, logs et évaluations sont des copies de données. Définissez lesquels sont nécessaires à l’amélioration ou au diagnostic, qui les lit, combien de temps ils vivent et comment ils sont supprimés. Masquez les secrets avant l’émission de logs et évitez de stocker l’intégralité des conversations sans finalité explicite.
Examinez les fournisseurs et sous-traitants impliqués. Vérifiez les réglages de conservation, les régions, les options de traitement, les exports et les comptes qui peuvent configurer l’intégration. Ce n’est pas une raison d’affirmer qu’un fournisseur est sûr ou non ; c’est une étape pour faire correspondre l’usage réel à vos exigences.
Vérification : recherchez une valeur factice sensible dans les logs, les stockages temporaires et les exports de test. Elle ne doit apparaître que dans les emplacements explicitement autorisés, puis expirer selon la politique.
6. Tester les contrôles et préparer la réponse
Utilisez des données de test étiquetées et des scénarios de refus : outil qui demande un fichier hors périmètre, sortie vers un destinataire inconnu, erreur qui contient une valeur factice, export non autorisé. Vérifiez à la fois que l’action n’a pas lieu et que le système produit une trace utile sans répéter la donnée.
Préparez la réponse à une fuite possible : interrompre la diffusion, limiter les accès, préserver les preuves nécessaires, révoquer l’identité concernée, mesurer les copies et prévenir les responsables selon la procédure applicable. Ne supposez pas qu’une suppression de log ou de fichier annule une exposition : une copie peut avoir été exportée ou indexée.
Vérification : réalisez un exercice de table avec une donnée factice et chronométrez le chemin de détection, de limitation et de communication. Mettez à jour le runbook avec les points bloquants observés.
Problèmes fréquents et solutions
On envoie le dossier complet pour améliorer la réponse. Découpez le corpus, réduisez le contexte et utilisez une récupération limitée aux passages utiles.
Un agent possède une clé globale. Remplacez-la par des identités dédiées, expirables et limitées à la tâche ; testez la révocation.
Les sorties sont publiées sans contrôle. Ajoutez un format, une validation de destination et une revue pour les données sensibles ou actions externes.
Les logs copient les prompts. Réduisez-les à des identifiants et événements utiles, masquez avant stockage et fixez une rétention courte.
FAQ
Une IA locale élimine-t-elle le risque de fuite ?
Non. Elle peut réduire certains transferts, mais les fichiers, outils, logs, réseau et comptes locaux restent à contrôler.
Faut-il interdire toutes les données sensibles aux IA ?
Le choix dépend de la finalité, de l’autorisation et des contrôles. Commencez par minimiser et séparer plutôt que d’envoyer tout le contexte par défaut.
Comment tester une fuite sans utiliser de vraies données ?
Créez des valeurs factices identifiables et vérifiez leur absence des destinations, logs et sorties non autorisés.
Un filtre de mots sensibles suffit-il ?
Non. Il complète les permissions, la minimisation, la validation de sortie et la rétention, mais ne couvre pas tous les formats ou inférences.
Qui décide des durées de conservation ?
Les propriétaires des données, sécurité et équipes juridiques ou conformité lorsque nécessaire. La durée doit correspondre à une finalité et être vérifiable.
Conclusion
Empêcher la fuite de données par une IA demande de limiter chaque étape : données minimales à l’entrée, accès étroits, sorties validées et traces protégées. Les tests avec données factices et les procédures de réponse transforment ces principes en contrôles observables, plutôt qu’en promesses générales de confidentialité.
Sources et limites
Sources primaires : OWASP LLM06 Sensitive Information Disclosure, OWASP Agentic AI Threats and Mitigations et NIST Privacy Framework. Les obligations de données dépendent de la juridiction et des contrats. Ce guide ne constitue pas un avis juridique ni une garantie d’absence de fuite.