Faille de sécurité dans les API de raisonnement d’OpenAI, Anthropic et Google : des modèles plus faibles exposent les secrets des modèles avancés
Lysandre Beauchêne
Plus de 60 clés API, 33 mots de passe et 24 jetons d’accès ont été récupérés à partir de blocs de raisonnement chiffrés dans des journaux publics d’agents IA. Une vulnérabilité affectant les API de raisonnement d’OpenAI, Anthropic et Google a permis à des chercheurs de décoder le raisonnement interne de modèles puissants à l’aide de modèles plus faibles de la même famille, exposant ainsi des secrets et des données privées.
Cette faille repose sur un mécanisme conçu pour préserver le raisonnement entre les appels API lorsque la gestion de l’état conversationnel est manuelle ou sans état. Les blocs chiffrés, destinés à rester opaques, se sont avérés portables entre sessions, utilisateurs et même modèles. Une attaque de type replay a ainsi permis d’extraire des traces de raisonnement contenant des informations sensibles.
Comment fonctionne la vulnérabilité des API de raisonnement
OpenAI, Anthropic et Google utilisent des blocs de raisonnement chiffrés pour transmettre des chaînes de pensée d’un appel API à un autre sans exposer le contenu en clair. Ces blocs sont normalement réinjectés dans la session suivante par l’application cliente. Toutefois, les chercheurs ont découvert que ces objets chiffrés ne sont pas liés de manière sécurisée à une session ou à un utilisateur spécifique. Un bloc créé dans une session peut être rejoué dans une autre session, même sous un compte différent.
« Le chiffrement lui-même n’a pas été cassé, et l’attaque n’a pas nécessité l’obtention d’une clé de chiffrement. Elle repose sur le fait que les blocs opaques intacts sont acceptés et traités par le fournisseur. » - article de recherche Stealing Reasoning Traces from Proprietary LLM APIs
Le rôle des modèles “décodeurs” plus faibles
Lors des tests, les chercheurs ont utilisé un modèle plus faible de la même famille comme décodeur flou pour transcrire le raisonnement produit par un modèle plus fort. Par exemple, Claude Haiku 4.5 pour décoder les traces de Claude, GPT-5.6 Luna pour GPT, et Gemini Robotics ER-1.6 pour Gemini. Le modèle faible était invité à restituer le raisonnement caché, ce qui a fonctionné dans de nombreux cas.
Cette portabilité inter-modèles constitue le cœur de la vulnérabilité : un attaquant peut obtenir un bloc de raisonnement (par exemple en publiant un journal d’agent) et le soumettre à un modèle compatible de son choix pour en extraire le contenu.
Les quatre vecteurs d’attaque démontrés
Les chercheurs ont présenté quatre méthodes d’exploitation distinctes :
- Vol de raisonnement propriétaire : extraire les chaînes de pensée de modèles concurrents pour les distiller ou les analyser.
- Extraction de données privées : récupérer des secrets insérés dans des traces publiées par d’autres utilisateurs, comme des clés API ou des mots de passe.
- Contournement de sécurité : révéler des instructions cachées derrière une réponse visible anodine, par exemple du contenu toxique filtré.
- Injection d’instructions invisibles : insérer une instruction malveillante dans un bloc opaque rejoué plus tard dans une tâche non liée, provoquant une action non désirée (comme un téléchargement de fichier).
Chiffres clés : l’ampleur de l’exposition
Les résultats de l’étude sur 6 708 trajectoires d’agents publics sont éloquents :
| Élément | Valeur |
|---|---|
| Trajectoires analysées | 6 708 |
| Blocs de raisonnement décodés | 315 320 |
| Artéfacts de confidentialité issus de sessions utilisateurs réelles | 704 |
| Clés API exposées | 62 |
| Mots de passe | 33 |
| Jetons d’accès | 24 |
| Clés privées | 7 |
« Sur les 704 artéfacts hors benchmark, 64 sont apparus uniquement dans le raisonnement caché et nulle part dans la trace visible. Nettoyer la conversation lisible peut donc laisser des secrets dans un bloc opaque qu’un autre compte peut rejouer. »
Selon les chercheurs, 64 secrets étaient dissimulés exclusivement dans les blocs de raisonnement et non dans le texte visible des journaux. Cela signifie que même une désinfection apparente des conversations ne suffit pas à protéger les données sensibles si les blocs opaques restent intacts.
Qui est concerné en France ?
Toute entreprise ou développeur français utilisant les API de raisonnement d’OpenAI, Anthropic ou Google est potentiellement exposé, en particulier ceux qui publient des journaux d’agents ou partagent des traces de débogage. La CNIL et l’ANSSI recommandent une vigilance accrue sur les données transitant par des API tierces. Cette vulnérabilité soulève des questions de conformité RGPD : des données à caractère personnel pourraient fuiter via des blocs de raisonnement, même si la conversation visible est anonymisée.
En pratique, un développeur français qui partage un journal d’agent sur GitHub pour collaborer expose involontairement les blocs de raisonnement. Toute information confidentielle stockée dans ces blocs devient lisible par un attaquant possédant un compte API chez le même fournisseur.
Comment se protéger : bonnes pratiques pour les développeurs
Les fournisseurs ont déployé des correctifs, mais les chercheurs précisent que l’attaque principale n’est plus reproductible depuis août 2026. Toutefois, les blocs déjà publiés dans des dépôts publics restent potentiellement exploitables. Voici les mesures recommandées :
- Supprimer les blocs de raisonnement des journaux partagés : retirer les champs
reasoningouthinkingavant toute publication. - Ne jamais commettre de transcriptions API brutes même si le texte visible a été nettoyé.
- Utiliser des outils de désinfection automatique pour identifier et supprimer les blocs opaques.
- Limiter la durée de conservation des journaux contenant des blocs de raisonnement.
- Auditer les dépôts existants pour détecter d’éventuels blocs encore présents.
Exemple de code pour nettoyer un log avant publication :
import json
def sanitize_log(log_entry):
# Supprimer les champs de raisonnement
log_entry.pop('reasoning', None)
log_entry.pop('thinking', None)
log_entry.pop('encrypted_reasoning', None)
return log_entry
Cas concret : le risque des journaux d’agents partagés
Un développeur français intègre l’API d’OpenAI dans un assistant client. Pour déboguer, il enregistre les échanges complets, y compris les blocs reasoning. Il partage ce fichier sur un dépôt privé. Un attaquant obtient l’accès au dépôt, extrait les blocs, et les soumet à un modèle GPT-5.6 Luna. Le modèle décode le raisonnement, révélant une clé API stockée temporairement. L’attaquant utilise cette clé pour accéder au compte OpenAI du développeur.
Que disent les fournisseurs et les chercheurs ?
Les chercheurs ont divulgué leurs résultats à OpenAI, Anthropic, Google, Microsoft et Hugging Face. Selon leur déclaration de reproductibilité : « l’attaque d’extraction principale n’est plus reproductible depuis août 2026 ». Toutefois, aucun fournisseur n’a encore reconnu publiquement la faille, ni mis à jour sa documentation en lien direct avec cette recherche.
Les travaux s’appuient sur une découverte antérieure de Matthew Green, cryptographe à Johns Hopkins, qui avait montré la portabilité des blocs de raisonnement. Green avait signalé le comportement de replay à OpenAI et Anthropic via leurs programmes de bug bounty. OpenAI a jugé le rapport non reproductible, Anthropic n’a pas vu d’implications de sécurité. La nouvelle étude transforme ce replay en une méthode d’extraction massive.
Conclusion : vers des API de raisonnement plus sécurisées
Cette vulnérabilité des API de raisonnement illustre un paradoxe de la sécurité des modèles de langage : un mécanisme conçu pour protéger le raisonnement peut, s’il est mal implémenté, exposer des secrets à grande échelle. Les développeurs français doivent intégrer la gestion des blocs opaques dans leurs politiques de sécurité et de conformité RGPD. La suppression systématique des blocs de raisonnement dans les journaux partagés est une mesure de base, mais une refonte plus profonde des API est nécessaire pour lier cryptographiquement ces blocs à une session et un utilisateur.
Pour l’heure, la communauté cybersécurité française est invitée à auditer ses pratiques de partage de traces d’agents et à suivre les mises à jour des fournisseurs. La vigilance reste de mise : si les attaques directes ne fonctionnent plus, les blocs déjà publiés pourraient encore contenir des trésors pour un attaquant.