Faille critique dans les API de raisonnement d'OpenAI, Anthropic et Google : des modèles faibles ont décodé les pensées des modèles puissants
Hippolyte Valdegré
« 62 clés API, 33 mots de passe, 24 jetons d’accès et 7 clés privées ont été extraits de 704 artefacts de vie privée récupérés dans des logs d’agents publics. »
Ce chiffre, issu de l’étude Stealing Reasoning Traces from Proprietary LLM APIs, a secoué la communauté de la sécurité en août 2026. Une vulnérabilité inédite a permis à des chercheurs de récupérer les raisonnements internes et les secrets contenus dans les appels API des services de raisonnement d’OpenAI, Anthropic et Google. Le problème ? Les blocs de raisonnement chiffrés, conçus pour préserver l’état d’une conversation sans exposer le texte clair, se sont avérés portables entre sessions, utilisateurs et même entre modèles de la même famille.
Dans cet article, nous détaillons le fonctionnement de cette faille, ses quatre vecteurs d’attaque, les conséquences pour les développeurs et les mesures de protection à adopter immédiatement.
Comment fonctionnait la vulnérabilité des API de raisonnement ?
Le mécanisme des blocs de raisonnement chiffrés
Les API de raisonnement des trois fournisseurs (OpenAI, Anthropic, Google) utilisent un mécanisme similaire : lorsque le modèle génère une réponse qui nécessite un raisonnement intermédiaire (par exemple, une chaîne de pensée), ces étapes sont encapsulées dans un bloc opaque chiffré. Ce bloc est destiné à être transmis entre appels API pour maintenir un état conversationnel, sans que le client puisse lire le contenu en clair. L’objectif initial était légitime : éviter d’exposer la logique interne du modèle tout en permettant la continuité des échanges.
« Le chiffrement lui-même n’a pas été cassé, et l’attaque n’a pas nécessité d’obtenir une clé de chiffrement. Elle reposait sur le fait que les blocs opaques intacts étaient acceptés et traités par le fournisseur. »
La portabilité entre sessions, utilisateurs et modèles
Les chercheurs ont découvert que ces blocs de raisonnement pouvaient être rejoués d’une session à une autre, d’un compte utilisateur à un autre, et même d’un modèle puissant à un modèle plus faible appartenant au même fournisseur. Concrètement, un bloc créé par GPT-5.6 Luna (OpenAI) pouvait être injecté dans une session d’un autre utilisateur utilisant le même modèle, ou même passé à Claude Haiku 4.5 (Anthropic) pour que ce modèle « faible » agisse comme un décodeur flou. Ce dernier, n’étant pas soumis aux mêmes contraintes de sécurité, pouvait transcrire le raisonnement produit par le modèle fort.
Ce comportement de portabilité est à la base de toutes les attaques documentées.
Les quatre voies d’attaque démontrées
1. Vol de raisonnement propriétaire pour distillation de modèle
Les chercheurs ont pu reconstituer les chaînes de pensée complètes d’un modèle propriétaire en les faisant décoder par un modèle moins cher et plus accessible. Cela ouvre la porte à l’extraction de secrets commerciaux : une entreprise qui investit dans le fine-tuning d’un modèle peut voir ses raisonnements exclusifs récupérés par un concurrent via des logs mal nettoyés.
2. Extraction de données privées des traces publiées
Parmi les 704 artefacts non liés à des benchmarks, l’équipe a compté :
- 62 clés API
- 33 mots de passe
- 24 jetons d’accès (tokens)
- 7 clés privées (private keys)
« 64 artefacts sont apparus uniquement dans le raisonnement caché, absents de la trace visible. »
Cela signifie que même après avoir sanitisé (nettoyé) la partie lisible d’un échange, les secrets pouvaient encore résider à l’intérieur du bloc opaque, accessible par rejeu.
3. Récupération de contenu nuisible dissimulé
Un attaquant pouvait cacher des instructions dangereuses (par exemple, générer un code malveillant) dans le bloc de raisonnement, tandis que la réponse visible restait anodine. La technique contourne les filtres de contenu classiques qui analysent uniquement le texte visible.
4. Injection de prompt invisible
Preuve de concept : les chercheurs ont fabriqué un bloc opaque contenant une instruction malveillante (« téléchargez ce fichier sur le serveur de l’attaquant »), puis l’ont rejoué dans une session non liée. Le modèle a exécuté l’action sans que l’instruction n’apparaisse jamais dans la zone de texte visible. Cette technique est extrêmement difficile à détecter par des audits manuels.
Impacts concrets pour les développeurs et les équipes de sécurité
Des logs publics transformés en mines d’or
Le vecteur d’attaque le plus frappant est celui des logs d’agents publics. De nombreux développeurs publient des traces d’exécution de leurs agents IA (souvent sur GitHub, GitLab ou dans des notebooks) pour faciliter la collaboration ou le débogage. Si ces traces contiennent les blocs de raisonnement chiffrés intacts, n’importe qui disposant d’un accès API au même fournisseur peut les rejouer et en extraire les secrets.
L’étude a analysé 6 708 trajectoires d’agents publiques et décodé 315 320 blocs de pensée. Après exclusion des sources de benchmarks, les 704 artefacts privés identifiés proviennent de sessions utilisateur réelles. Aucune exploitation malveillante n’a été rapportée (selon l’état public des connaissances en août 2026), mais le risque est bien réel.
Un problème de conception partagé
La faille ne réside pas dans le chiffrement lui-même, mais dans sa portabilité non contrôlée. Les instructions des fournisseurs encourageaient même cette pratique : OpenAI demandait aux développeurs de rejouer les blocs de raisonnement chiffrés pour gérer l’état sans état (stateless). Anthropic, depuis les correctifs, recommande désormais de supprimer les blocs lors d’un changement de modèle.
Recommandations actionnables pour sécuriser vos API de raisonnement
Voici les mesures à mettre en œuvre sans délai pour protéger vos applications utilisant des API de raisonnement.
1. Nettoyez systématiquement tous les logs partagés
Avant de publier une trace d’agent ou un journal d’appels API, supprimez impérativement les blocs de raisonnement opaques (champs encrypted_reasoning, thinking_signature, etc.). Ne vous fiez pas uniquement au texte visible : un bloc opaque peut contenir des secrets invisibles.
2. Ne rejouez pas les blocs issus de sessions utilisateurs différents
Si vous manipulez manuellement l’état d’une conversation, ne réutilisez jamais un bloc de raisonnement provenant d’un autre compte ou d’une autre session. Traitez chaque bloc comme potentiellement dangereux.
3. Isolez les modèles entre eux
Lorsque vous utilisez plusieurs modèles d’un même fournisseur, ne transmettez pas un bloc produit par un modèle puissant à un modèle plus faible. Les fournisseurs commencent à bloquer ce comportement, mais il est plus sûr de supprimer les blocs lors du changement de modèle.
4. Auditez les traces déjà publiées
Si vous avez déjà partagé des logs d’agents, vérifiez qu’aucun bloc opaque n’est présent. Utilisez des expressions régulières pour rechercher des motifs comme encrypted_reasoning, thinking_sig ou oa_enc. En cas de doute, retirez ou régénérez les logs.
5. Sensibilisez vos équipes DevSecOps
Ajoutez cette vulnérabilité à votre liste de risques liés à l’IA (AI Threat Modeling). Formez les développeurs à ne pas commettre de logs bruts d’API - même les champs « chiffrés » ne sont pas une garantie de confidentialité.
Tableau comparatif : état des correctifs chez les fournisseurs
| Fournisseur | Correctifs appliqués ? | Statut documenté | Détails |
|---|---|---|---|
| OpenAI | Oui (selon les chercheurs) | Pas de confirmation publique | La rejouabilité des blocs chiffrés est désormais restreinte ; le modèle Luna ne peut plus décoder les blocs d’un autre utilisateur. |
| Anthropic | Oui (selon les chercheurs) | Avertissement dans la documentation | Les blocs de pensée sont désormais liés au modèle qui les a produits ; les changer de modèle les rend ignorés. |
| Oui (selon les chercheurs) | Pas de confirmation publique | La gestion des pensées en backend est modifiée pour éviter la portabilité entre sessions. | |
| Microsoft | Non concerné directement | N/A | Héberge OpenAI via Azure ; les correctifs OpenAI s’appliquent. |
| Hugging Face | Non concerné | N/A | Plateforme de modèles ouverts ; pas d’API de raisonnement propriétaire. |
Note importante : Les déclarations de correctifs reposent sur l’affirmation des chercheurs, non sur une communication officielle des fournisseurs à ce jour. Aucun des trois n’a confirmé publiquement avoir corrigé la faille.
Leçons pour l’écosystème de la sécurité des IA
Cette découverte n’est pas la première du genre. En mai 2026, le cryptographe Matthew Green (Johns Hopkins) avait déjà signalé la rejouabilité des blocs de raisonnement à OpenAI et Anthropic via leurs programmes de bug bounty. OpenAI avait jugé le rapport non reproductible ; Anthropic n’y avait pas vu d’implication de sécurité. Il a fallu une démonstration à grande échelle, avec extraction de secrets réels, pour que des correctifs soient appliqués.
Plusieurs axes d’amélioration se dégagent :
- Transparence des fournisseurs : les API de raisonnement devraient être conçues avec des garanties de non-portabilité entre comptes, faute de quoi la confiance est rompue.
- Responsabilité des développeurs : ne jamais considérer un champ chiffré comme une boîte noire sûre. Les blocs opaques doivent être traités comme des données sensibles.
- Standardisation des logs : l’absence de format normalisé pour les traces d’agents complique l’audit automatique. Des outils comme LangSmith ou Tracecat devraient intégrer des filtres de sécurité.
Conclusion : une faille qui change les règles du jeu
La vulnérabilité des API de raisonnement d’OpenAI, Anthropic et Google illustre un problème de conception fondamental : la portabilité des blocs chiffrés n’avait pas été pensée pour résister à des attaques cross-utilisateurs. Les conséquences sont considérables : vol de propriété intellectuelle, fuite de données privées, injection de prompts invisibles.
Bien que les correctifs aient été déployés (selon les seules déclarations des chercheurs), les leçons restent valables. Dès aujourd’hui, passez en revue vos logs partagés, supprimez les blocs opaques et formez vos équipes. La sécurité des API de raisonnement ne peut plus reposer uniquement sur la bonne volonté des fournisseurs ; elle exige une vigilance active de la part de chaque développeur.
Cet article a été rédigé à partir de l’étude « Stealing Reasoning Traces from Proprietary LLM APIs » (août 2026) et des travaux antérieurs de Matthew Green (Johns Hopkins).