Guide
Journaliser un système d'IA générative : quoi et combien
Quoi journaliser dans un assistant IA selon l'ANSSI (R29), combien de temps garder les journaux selon la CNIL, et comment éviter une fuite.
Mis à jour le
Un système d'IA générative doit tenir un journal de chaque traitement : la question de l'utilisateur, ce qui a réellement été envoyé au modèle, les documents et outils consultés, ce que les filtres ont fait et la réponse finale. C'est la recommandation R29 de l'ANSSI (Agence nationale de la sécurité des systèmes d'information). Sans ce journal, on ne peut ni comprendre une injection de prompt, ni prouver qu'un document n'a pas fuité, ni corriger un comportement. Mais un journal trop bavard devient à son tour une copie des données sensibles : il faut donc choisir quoi garder, combien de temps et qui peut le lire.
Ce que l'ANSSI demande de journaliser
Le guide du 29/04/2024 recommande de journaliser, au bon niveau de détail, l'ensemble des traitements réalisés sur le système d'IA, notamment :
| Événement (R29) | Pourquoi c'est utile |
|---|---|
| Les requêtes des utilisateurs, en les protégeant si elles contiennent des données sensibles | Savoir qui a demandé quoi |
| Les traitements appliqués à la requête avant l'envoi au modèle | Voir ce que le modèle a vraiment reçu |
| Les appels à des extensions (plugins) | Retracer chaque action déclenchée |
| Les appels à des données additionnelles | Savoir quels documents ont été lus |
| Les traitements réalisés par les filtres en sortie | Vérifier ce qui a été bloqué ou modifié |
| Les réponses aux utilisateurs | Savoir ce qui a été montré |
Le guide insiste sur une distinction : la requête tapée par l'utilisateur et les données réellement envoyées au modèle ne sont pas les mêmes, car l'application ajoute un prétraitement et une mise en forme. Les deux doivent apparaître dans les journaux, pour pouvoir reconstituer entièrement un événement, par exemple une requête malveillante. Pour l'architecture du système de journalisation, l'ANSSI renvoie à son guide généraliste sur le sujet. Elle demande aussi de journaliser les flux entre le système d'IA et les autres applications (R26).
Un enregistrement type
Prenons un assistant documentaire. Un enregistrement utile pourrait contenir :
- un identifiant de conversation et de tour, l'identifiant de l'utilisateur, la date et l'heure ;
- la version du modèle et du prompt système ;
- la requête de l'utilisateur et la requête transformée ;
- les identifiants des passages récupérés, avec leur document d'origine et les groupes autorisés ;
- chaque appel d'outil, ses arguments et son résultat (ou une empreinte du résultat) ;
- les décisions des filtres d'entrée et de sortie ;
- la réponse envoyée, et l'éventuelle validation humaine d'une action.
Journaliser les identifiants des passages plutôt que leur texte réduit la copie de données sensibles, tout en permettant de retrouver le document.
Combien de temps les garder
Dès que les journaux contiennent des données personnelles, et c'est presque toujours le cas, la protection des données s'applique. L'ANSSI le rappelle dans son guide, en citant la durée de conservation. La CNIL (Commission nationale de l'informatique et des libertés) a publié le 18/11/2021 une recommandation sur les mesures de journalisation. Elle y indique, pour une journalisation de traçabilité, une durée comprise entre six mois et un an. Une durée plus longue, généralement limitée à trois ans, doit être justifiée et documentée, par exemple pour un traitement soumis à un contrôle interne. La CNIL recommande aussi une analyse automatique des journaux pour repérer vite les usages indus, et des mesures contre le détournement de finalité des journaux, qui peuvent par exemple renseigner sur l'activité des salariés. Ces repères ne remplacent pas l'avis de votre délégué à la protection des données.
Éviter que les journaux deviennent une fuite
L'OWASP, fondation qui publie des référentiels de sécurité applicative, signale dans son Top 10 2026 que les plateformes d'observabilité des modèles enregistrent par défaut les prompts, les réponses, les passages récupérés et les traces complètes. Elle cite un scénario où des traces de raisonnement, enregistrées telles quelles dans un projet de supervision partagé, exposent des données personnelles à des centaines d'ingénieurs alors que la réponse affichée était propre. Ses recommandations :
- restreindre et nettoyer les journaux et les traces avant leur envoi vers un outil de supervision ;
- chiffrer les journaux en transit et au repos ;
- traiter les traces de raisonnement comme une sortie à part entière, classée et masquée, jamais envoyée brute vers une supervision ouverte ;
- pour les données les plus sensibles, envoyer des journaux adaptés à l'IA dans l'outil central de détection des incidents de sécurité.
Ce que les journaux permettent ensuite
- Enquêter : retrouver le document piégé à l'origine d'une réponse anormale.
- Détecter : repérer un utilisateur qui multiplie les tentatives de contournement.
- Tester : transformer les attaques observées en cas de test pour le red teaming.
- Contrôler la mémoire : l'OWASP recommande, pour un agent qui écrit dans une mémoire durable, d'enregistrer la requête qui a causé chaque écriture.
Pour ce que chaque document doit porter comme droits avant même d'être journalisé, voyez sécuriser un chatbot d'entreprise.
Questions fréquentes
Combien de temps conserver les journaux d'un assistant IA ?
Pour une journalisation de traçabilité, la recommandation de la CNIL de 2021 indique une durée comprise entre six mois et un an. Une durée plus longue doit être justifiée et documentée. Faites valider votre choix par votre délégué à la protection des données.
Faut-il garder le texte complet des questions et des réponses ?
L'ANSSI recommande de journaliser les requêtes et les réponses, en protégeant les requêtes qui contiennent des données sensibles. L'OWASP rappelle que des journaux trop complets deviennent eux-mêmes une voie de fuite : choisissez le niveau de détail selon la sensibilité des données et restreignez l'accès.
Sources
Pages consultées pour écrire cet article :