Extraire les données d’entraînement de ChatGPT : l’attaque poem
Section intitulée « Extraire les données d’entraînement de ChatGPT : l’attaque poem »Fin novembre 2023, une équipe menée par des chercheurs de Google DeepMind et de plusieurs universités, dont Milad Nasr et Nicholas Carlini, publie « Scalable Extraction of Training Data from (Production) Language Models ». En demandant à ChatGPT de répéter un mot sans fin, ils lui font quitter son rôle d’assistant poli pour réciter mot pour mot des fragments de son corpus d’entraînement, coordonnées personnelles comprises. La leçon dépasse l’anecdote : un modèle aligné reste un modèle qui a mémorisé, et filtrer une requête ne retire rien de ce qui est stocké dans les poids.
Imagine un élève qui a lu des millions de cahiers empruntés et qui, sans le vouloir, a retenu par cœur des pages entières, numéros de téléphone compris. Son professeur lui a appris à toujours répondre poliment. Mais si on lui pose une question absurde au bon moment, il se met à réciter une page oubliée. Cette page parle de ce bug de mémoire.
→ Lire l’explication complète de la marmotte
Mémorisation et extraction de données d’entraînement : ce que l’attaque exploite
Section intitulée « Mémorisation et extraction de données d’entraînement : ce que l’attaque exploite »Un LLM (Large Language Model) est entraîné à prédire le jeton suivant d’un texte. Pour la plupart des séquences, il généralise. Pour certaines, il apprend par cœur : des textes vus de nombreuses fois (licences logicielles, mentions légales, pages dupliquées sur des milliers de sites), mais aussi des séquences rares que le modèle a retenues parce qu’elles étaient faciles à retenir. Une adresse électronique suivie d’une signature et d’un numéro de téléphone, par exemple.
La littérature distingue deux notions. La mémorisation découvrable : on dispose d’un préfixe tiré du corpus, on le donne au modèle, et il complète avec la suite exacte. La mémorisation extractible : un attaquant qui ignore tout du corpus obtient quand même du texte mémorisé. La seconde est la seule qui compte pour un modèle exposé au public, et c’est elle que l’article de 2023 mesure. Le critère retenu par les auteurs est strict : une sortie compte comme mémorisée si elle contient une séquence d’au moins 50 jetons identique à un texte présent dans un corpus de référence de données publiques du web, de l’ordre de dix téraoctets, indexé par tableau de suffixes. Ce critère sous-estime le phénomène : une paraphrase fidèle ou une copie à une virgule près ne compte pas.
Sur les modèles ouverts (Pythia, GPT-Neo, LLaMA, Falcon), les auteurs montrent que la quantité extractible croît avec la taille du modèle. Plus le modèle est gros, plus il retient. Vingt ans de métier apprennent que la capacité de stockage finit toujours par être remplie de ce que personne n’a voulu y mettre ; les réseaux de neurones ne font pas exception.
L’attaque par divergence « poem poem poem » sur un modèle aligné
Section intitulée « L’attaque par divergence « poem poem poem » sur un modèle aligné »ChatGPT n’est pas un modèle de base. Il a subi un SFT (Supervised Fine-Tuning) puis un RLHF (Reinforcement Learning from Human Feedback) qui lui donnent un comportement de conversation : répondre à la question, refuser certains sujets, ne pas se lancer dans de la complétion de texte arbitraire. Les attaques d’extraction classiques, conçues pour des modèles de base, ne produisent presque rien sur un modèle ainsi aligné. L’alignement donnait donc l’impression d’une protection.
L’attaque par divergence contourne cette impression sans la combattre. Le prompt demande de répéter un mot unique indéfiniment (« poem », « company », d’autres mots fonctionnent plus ou moins bien). Le modèle s’exécute pendant quelques centaines de répétitions, puis décroche : la suite générée cesse d’être une répétition et bascule vers une génération libre qui ressemble au comportement d’un modèle de base. Une partie notable de ce texte libre est de la mémorisation pure.
L’explication avancée par les auteurs reste une hypothèse : la répétition prolongée d’un même jeton ressemblerait à une fin de document, et le modèle se comporterait comme s’il commençait un nouveau document du corpus. Le mécanisme exact importe moins que le constat : l’alignement est une couche comportementale apprise, pas une barrière qui isole les données mémorisées.
Le schéma suivant montre où se situe la faille : l’alignement filtre la forme de la réponse, la mémorisation reste accessible dès que le modèle sort de ce comportement.
Les chiffres publiés sont modestes en argent et considérables en conséquences : plus de 10 000 exemples mémorisés uniques extraits pour environ 200 dollars de requêtes sur gpt-3.5-turbo. Parmi eux, du code, des textes littéraires, des contenus de sites web, et des informations personnelles identifiantes (noms, adresses électroniques, numéros de téléphone). Les auteurs extrapolent qu’un budget plus élevé permettrait d’en extraire beaucoup plus. L’extraction n’a demandé ni accès aux poids, ni compte privilégié, ni exploit sur l’infrastructure : une clé d’API (Application Programming Interface) et de la patience.
Ce que le filtrage de prompt ne corrige pas
Section intitulée « Ce que le filtrage de prompt ne corrige pas »OpenAI a été prévenu avant la publication, selon les règles d’usage de la divulgation coordonnée. La réponse visible a consisté à bloquer les demandes de répétition infinie et à les déclarer contraires aux conditions d’utilisation. Aucune de ces deux mesures ne touche à la mémorisation : les séquences sont toujours dans les poids, seul le chemin d’accès le plus connu a été fermé.
Ce type de parade a trois défauts structurels.
Il bloque une forme, pas une propriété. La divergence est un symptôme. D’autres façons de faire sortir le modèle de son comportement aligné existent ou existeront (jailbreaks, longs contextes, ajustement fin via une API de fine-tuning, extraction par préfixes connus). Un filtre sur la chaîne « repeat forever » ressemble à une règle de pare-feu qui interdit le port 4444 parce que le dernier malware l’utilisait.
Il repose sur le contrat, pas sur la technique. Déclarer une requête contraire aux conditions d’utilisation dissuade les chercheurs qui publient sous leur nom. Les autres lisent rarement les conditions d’utilisation, ce qui reste à ce jour la seule disposition contractuelle respectée à l’unanimité.
Il ne s’applique qu’à une interface. Le même modèle exposé par un autre canal (autre produit, API sans le même filtre, modèle redistribué ou fine-tuné par un tiers) n’hérite pas du filtre. La mémorisation, elle, voyage avec les poids.
Le compromis central se lit ici sans ambiguïté. Filtrer en sortie ou en entrée coûte peu, se déploie vite et préserve la qualité du modèle ; il ne supprime pas le risque, il en augmente le coût d’exploitation. Traiter la mémorisation à la source (corpus nettoyé, dédupliqué, entraînement avec garanties de confidentialité) coûte cher, dégrade une partie des performances et impose de réentraîner ; c’est la seule voie qui retire réellement la donnée. La position défendue ici : pour toute donnée qui ne doit jamais sortir (secrets, données personnelles non publiques, données clients), le traitement se fait avant l’entraînement, et les filtres en production sont une couche de détection, jamais la mesure principale.
Surface d’attaque d’un modèle en production et contre-mesures
Section intitulée « Surface d’attaque d’un modèle en production et contre-mesures »La surface d’attaque sur la confidentialité d’un modèle génératif ne se limite pas à la divergence. Elle se décompose ainsi :
| Attaque | Ce qui fuit | Contre-mesure de fond | Contre-mesure de production |
|---|---|---|---|
| Extraction par divergence ou génération libre | Séquences mémorisées du corpus | Déduplication, retrait des données personnelles avant entraînement | Détection de répétitions, filtre de correspondance verbatim |
| Extraction par préfixe connu | Suite exacte d’un document partiellement connu | Idem, plus confidentialité différentielle | Limitation de débit, journalisation des complétions longues |
| Inférence d’appartenance | Le fait qu’un document ait servi à l’entraînement | Confidentialité différentielle | Masquage des probabilités de jetons dans l’API |
| Fine-tuning malveillant via API | Réactivation du comportement de modèle de base | Contrôle des jeux de fine-tuning soumis | Évaluation automatique du modèle ajusté avant mise à disposition |
| Fuite par le contexte RAG (Retrieval-Augmented Generation) | Documents injectés dans le prompt | Contrôle d’accès au niveau de l’index | Filtrage des documents selon les droits de l’utilisateur |
Quelques règles générales à retenir.
La déduplication est la mesure la plus rentable. Une séquence présente des milliers de fois dans le corpus a de fortes chances d’être mémorisée ; dédupliquer réduit nettement la quantité extractible, pour un coût de calcul négligeable à l’échelle d’un entraînement. Elle ne protège pas une séquence rare.
La confidentialité différentielle donne une garantie mathématique, à un prix. Le DP-SGD (Differentially Private Stochastic Gradient Descent) borne l’influence de chaque exemple sur les poids en écrêtant les gradients et en y ajoutant du bruit. La garantie est réelle, chiffrée par un budget ε. La facture l’est aussi : perte de qualité, entraînement plus long, et une garantie qui ne vaut que pour l’unité de confidentialité choisie (un exemple, pas une personne qui apparaît dans mille exemples). Pour un modèle de fondation, peu d’acteurs la paient ; pour un ajustement fin sur des données internes sensibles, elle se discute sérieusement.
Un secret vu par le modèle est un secret compromis. Une clé d’API, un mot de passe ou un jeton présent dans un dépôt de code ayant servi à l’entraînement ou au fine-tuning doit être considéré comme divulgué. Le seul remède est la rotation. Le « désapprentissage » (machine unlearning) reste un champ de recherche dont les garanties ne tiennent pas face à un attaquant déterminé. La pratique rejoint ce que la gestion des secrets en CI/CD impose déjà : détecter les secrets avant qu’ils ne quittent le dépôt, pas après.
La limitation de débit est une mesure d’économie, pas de confidentialité. Elle fait monter le coût de l’extraction massive. Les techniques pour la contourner sont documentées dans la page sur le contournement de rate limit, et 200 dollars ne sont pas un budget qui arrête qui que ce soit.
Prérequis avant d’exposer un modèle entraîné ou ajusté
Section intitulée « Prérequis avant d’exposer un modèle entraîné ou ajusté »Avant toute mise à disposition d’un modèle, propriétaire ou ajusté en interne, quatre éléments doivent exister.
- Un inventaire des données d’entraînement et d’ajustement, avec leur provenance et leur catégorie (publique, interne, personnelle, secrète). Sans lui, impossible de savoir ce qu’une extraction ferait fuir. Pour un modèle tiers consommé par API, c’est la documentation du fournisseur qui en tient lieu, avec les limites qu’on imagine.
- Un pipeline de préparation du corpus qui déduplique (au niveau document et au niveau sous-séquence), retire ou pseudonymise les données personnelles, et passe un scanner de secrets sur tout ce qui ressemble à du code ou de la configuration.
- Une évaluation de mémorisation avant déploiement. La méthode des canaris s’y prête : insérer dans le corpus des séquences aléatoires uniques et connues, puis mesurer après entraînement si le modèle les restitue. Un canari restitué en clair indique qu’une donnée rare réelle peut l’être aussi.
- Un index de correspondance des données sensibles (filtre de Bloom ou tableau de suffixes sur les n-grammes des documents à protéger), qui sert ensuite au filtre de sortie.
La catégorie de données la plus exposée est celle qu’on soupçonne le moins : le fine-tuning sur des tickets de support, des courriels ou des comptes rendus internes. Un petit corpus, plusieurs passes d’entraînement, des séquences peu variées : toutes les conditions de la mémorisation sont réunies, et l’ajustement fin n’a reçu aucune des précautions prises sur le modèle de base.
Exemple : chaîne de détection d’une extraction en production
Section intitulée « Exemple : chaîne de détection d’une extraction en production »L’exemple montre une logique de décision, pas un script : comment traiter une sortie générée avant de la renvoyer à l’utilisateur, et quoi faire quand elle ressemble à une extraction. La chaîne combine trois contrôles indépendants, parce qu’aucun ne suffit seul : la détection de divergence attrape le symptôme connu, la correspondance verbatim attrape la restitution exacte, la détection de motifs personnels attrape ce qui a échappé aux deux.
Trois points se lisent sur ce schéma. D’abord, l’événement envoyé au SIEM (Security Information and Event Management) contient une empreinte de la sortie, pas la sortie : journaliser le texte extrait reviendrait à recopier la fuite dans un second système, avec une durée de conservation souvent plus longue. Ensuite, l’alerte porte sur un cumul par client, parce qu’une extraction est une campagne : une sortie suspecte isolée relève du bruit, cent dans l’heure relèvent d’une méthode. Enfin, la branche qui finit dans la gestion des secrets est la seule qui corrige quelque chose ; toutes les autres limitent l’exposition.
Ce que cette chaîne ne garantit pas : la paraphrase échappe au filtre verbatim, une donnée personnelle sans format reconnaissable (un nom propre accompagné d’une adresse postale) échappe à la détection par motifs, et un modèle redistribué hors de la passerelle échappe à tout. La détection en sortie réduit le volume extractible ; elle ne rend pas le modèle exempt de données.
Article 15, paragraphe 5, de l’AI Act : les attaques sur la confidentialité
Section intitulée « Article 15, paragraphe 5, de l’AI Act : les attaques sur la confidentialité »Le règlement (UE) 2024/1689 sur l’intelligence artificielle, dit AI Act, impose à son article 15 que les systèmes d’IA à haut risque atteignent un niveau approprié d’exactitude, de robustesse et de cybersécurité. Le paragraphe 5 exige qu’ils résistent aux tentatives de tiers non autorisés d’exploiter leurs vulnérabilités, et énumère les attaques visées par les solutions techniques attendues : empoisonnement des données d’entraînement, empoisonnement de composants préentraînés, exemples contradictoires, attaques sur la confidentialité et défauts du modèle. L’attaque par divergence entre exactement dans la quatrième catégorie. La page dédiée à la robustesse et la cybersécurité dans l’AI Act détaille le reste de l’article.
Deux précisions de périmètre. L’article 15 vise les systèmes à haut risque (ceux des annexes I et III), pas tout chatbot. Les modèles d’IA à usage général relèvent d’un régime distinct (articles 53 et 55), dont les obligations s’appliquent depuis le 2 août 2025 ; l’article 55 impose aux modèles présentant un risque systémique un niveau adéquat de protection en cybersécurité, ce qui couvre aussi ce type d’extraction. Le calendrier d’application des obligations relatives aux systèmes à haut risque est fixé par l’article 113 et a fait l’objet de propositions de report : la date applicable se vérifie dans le texte consolidé publié au Journal officiel, pas dans une plaquette.
Côté protection des données, le RGPD (Règlement général sur la protection des données, règlement (UE) 2016/679) s’applique dès que des données personnelles ont servi à l’entraînement. Le CEPD (Comité européen de la protection des données) a précisé dans son avis 28/2024 qu’un modèle entraîné sur des données personnelles ne peut être considéré comme anonyme que si la probabilité d’extraire ces données, y compris par des requêtes, est négligeable. Une extraction démontrée à 200 dollars se prête mal à l’adjectif « négligeable ». Savoir si un modèle donné satisfait ce critère relève d’une analyse juridique au cas par cas ; la page se borne à signaler l’article et l’avis.
Exploitation : supervision, rotation, reprise
Section intitulée « Exploitation : supervision, rotation, reprise »Une fois le modèle en production, la protection repose sur des opérations récurrentes, pas sur une configuration posée une fois.
- Supervision : suivre le taux de sorties marquées par l’analyseur, par client et par jour ; une hausse brutale signale soit une nouvelle technique d’extraction, soit une régression du filtre après une mise à jour du modèle.
- Réévaluation à chaque version : chaque nouvel entraînement ou ajustement fin repasse les tests de canaris et une campagne d’extraction interne (divergence, préfixes connus). Une version qui restitue plus que la précédente ne part pas en production.
- Rotation : tout secret restitué par le modèle, ou simplement présent dans un corpus d’entraînement, est révoqué. Pas de délai de grâce : le modèle ne l’oubliera pas pendant la période de transition.
- Sauvegarde et reprise : conserver les versions antérieures du modèle et de l’index de correspondance permet de revenir en arrière après une régression. Corollaire inconfortable : une ancienne version qui mémorise une donnée retirée depuis reste une copie de cette donnée, et sa conservation se gère comme celle de n’importe quelle sauvegarde contenant des données personnelles.
- Journaux : les prompts et sorties journalisés contiennent potentiellement les données extraites. Ils relèvent de la même politique de durée de conservation et de contrôle d’accès que les données qu’ils peuvent contenir.
Le cas du concessionnaire dont le chatbot a accepté de vendre un véhicule pour un dollar, documenté dans la page Chevrolet et le chatbot Tahoe, relève d’une autre famille (le contournement des consignes) mais procède de la même erreur d’analyse : croire que le comportement appris d’un modèle constitue une frontière de sécurité.
L’attaque fonctionne-t-elle encore ?
Section intitulée « L’attaque fonctionne-t-elle encore ? »La forme publiée (répétition infinie d’un mot) a été bloquée sur l’interface concernée. La propriété sous-jacente, la mémorisation de séquences du corpus, n’a pas été retirée par ce blocage. D’autres chemins d’extraction restent donc à évaluer pour chaque modèle et chaque version, ce que font régulièrement de nouvelles publications.
Un modèle consommé par API chez un fournisseur expose-t-il les données de l’organisation qui l’utilise ?
Section intitulée « Un modèle consommé par API chez un fournisseur expose-t-il les données de l’organisation qui l’utilise ? »Pas par ce mécanisme, tant que ses données ne servent pas à entraîner le modèle. Le risque apparaît avec le fine-tuning sur données internes, ou si les conditions du fournisseur autorisent l’usage des requêtes pour l’entraînement. Les deux points se vérifient contractuellement avant le premier appel.
Le RAG évite-t-il le problème ?
Section intitulée « Le RAG évite-t-il le problème ? »Il le déplace. Les documents ne sont plus dans les poids, ils sont dans un index consulté à chaque requête. Le risque devient un problème de contrôle d’accès à cet index, mieux maîtrisé qu’une mémorisation dans les poids, mais pas absent : un utilisateur qui obtient un document hors de ses droits par le contexte injecté a réalisé une extraction tout aussi efficace.
- Règlement (UE) 2024/1689 du Parlement européen et du Conseil (AI Act), article 15 et article 55.
- Règlement (UE) 2016/679 (RGPD), Parlement européen et Conseil.
- Avis 28/2024 du Comité européen de la protection des données sur les modèles d’IA, CEPD, décembre 2024.
- Scalable Extraction of Training Data from (Production) Language Models, Milad Nasr, Nicholas Carlini et al., novembre 2023.
🐝 Ce qui arrive si on s’en passe
Section intitulée « 🐝 Ce qui arrive si on s’en passe »Sans préparation du corpus, chaque donnée personnelle ou secret rare vu à l’entraînement reste dans les poids et suit toutes les copies du modèle, y compris celles redistribuées ou ajustées par des tiers. Sans analyseur de sortie, une extraction ressemble à du trafic légitime : aucun marqueur ne remonte, aucun seuil par client ne se déclenche, et la campagne ne laisse dans les journaux que des requêtes ordinaires. Sans rotation systématique, une clé restituée par le modèle reste valide et donne un accès direct à l’infrastructure qu’elle protégeait. Sans évaluation par canaris, une version qui mémorise davantage part en production sans que personne ne puisse le mesurer, et l’argument d’anonymat du modèle devient impossible à étayer.
🦫 Explication de la marmotte 🍫
Section intitulée « 🦫 Explication de la marmotte 🍫 »Un modèle de langage comme ChatGPT apprend en lisant d’énormes quantités de textes pris sur Internet. Son travail consiste à deviner le mot suivant d’une phrase. La plupart du temps, il retient des règles générales. Mais certains passages, il les retient mot pour mot : des textes qu’il a vus très souvent, et aussi des choses rares, comme l’adresse électronique ou le numéro de téléphone d’une vraie personne.
Ensuite, on lui apprend à se comporter en assistant : répondre poliment, refuser certaines demandes. Ce dressage change sa façon de parler, mais il n’efface pas ce qu’il a retenu.
En 2023, des chercheurs ont demandé à ChatGPT de répéter le mot « poem » sans s’arrêter. Après quelques centaines de répétitions, le modèle a décroché et s’est mis à écrire du texte libre, dont une partie était recopiée exactement de ses lectures d’entraînement. Pour environ 200 dollars, ils ont récupéré plus de 10 000 passages appris par cœur.
L’entreprise a bloqué cette demande précise. Les passages sont pourtant toujours dans le modèle : seule la porte la plus connue est fermée. Pour vraiment protéger les informations, il faut les retirer des textes avant l’apprentissage, supprimer les doublons, tester si le modèle récite des phrases témoins, surveiller ce qu’il répond, et changer immédiatement tout mot de passe qu’il aurait pu lire.
À lire aussi
- Fine-tuning en IA, définition, usages et limitesCe qu'est le fine-tuning d'un modèle d'IA, à quoi il sert vraiment, ce qu'il ne garantit pas, sa surface d'attaque et ses conditions d'exploitation.
- Fuite du prompt système de Bing Chat Sydney par injectionComment une injection de prompt a extrait en février 2023 les consignes internes de Bing Chat (nom de code Sydney), et pourquoi un prompt système ne doit contenir rien qui ne puisse être publié.
- Fuite Samsung ChatGPT : code source collé dans un assistant IAComment des ingénieurs de Samsung ont transmis du code source et des comptes rendus internes à ChatGPT, et quelle architecture de sortie empêche ce type de fuite sans pousser les usages vers l'ombre.
- Apprentissage automatique et réseaux de neurones, attaques du modèleComment un réseau de neurones apprend à partir de données (poids, perte, descente de gradient, rétropropagation) et où se placent l'empoisonnement, l'évasion, l'extraction et l'inversion sur le cycle de vie du modèle.
Pages voisines
La citent
- Fuite du prompt système de Bing Chat Sydney par injection
- Fuite Samsung ChatGPT : code source collé dans un assistant IA
- Fine-tuning en IA, définition, usages et limites
Extraire les données d'entraînement de ChatGPT : l'attaque poem
Elle cite
: les deux pages se citent l’une l’autre.
