Vulnérabilité des API de raisonnement IA : comment des modèles plus faibles ont pu décoder les pensées secrètes d'OpenAI, Anthropic et Google
Aurélien Fontevive
En août 2026, une équipe de chercheurs en sécurité a révélé une faille inédite affectant les API de raisonnement des principaux fournisseurs d’intelligence artificielle : OpenAI, Anthropic et Google. En exploitant la manière dont ces API transportent le raisonnement caché entre les appels, ils ont pu récupérer des secrets internes, y compris des clés API, des mots de passe et des tokens d’accès, à partir de simples logs de sessions. Sur 6 708 traces d’agents publiques, 315 320 blocs de raisonnement ont été décodés, dont 704 artefacts de confidentialité issus de sessions utilisateur réelles : 62 clés API, 33 mots de passe, 24 jetons d’accès et sept clés privées. Cette vulnérabilité des API de raisonnement IA soulève des questions fondamentales sur la sécurité des mécanismes de raisonnement opaque promis par les四大四大 (les quatre grands) fournisseurs.
Le mécanisme de raisonnement crypté : une faille structurelle
Fonctionnement des blocs opaques
Pour préserver le raisonnement entre plusieurs appels API dans un contexte sans état, OpenAI, Anthropic et Google ont conçu des objets cryptés appelés blocs de raisonnement opaque. OpenAI peut renvoyer des encrypted reasoning items que les applications rejouent avec un historique géré manuellement. Anthropic transporte le raisonnement complet dans une signature cryptée, tandis que Google utilise des encrypted thought signatures. Ces blocs conservent l’état du raisonnement sans exposer le texte en clair au client. Cependant, ce design présente une vulnérabilité critique : ces objets sont portables entre sessions, utilisateurs et même modèles.
La découverte des chercheurs : rejeu et décodage croisé
Dans leur article Stealing Reasoning Traces from Proprietary LLM APIs, les chercheurs ont démontré que des blocs cryptés intacts, créés dans une session, pouvaient être rejoués dans une autre session et même transmis à un modèle plus faible de la même famille. Ce modèle plus faible agissait alors comme un « décodeur flou » : Claude Haiku 4.5 pour les traces Claude, GPT-5.6 Luna pour les traces GPT, et Gemini Robotics ER-1.6 pour les traces Gemini. En demandant au modèle faible de transcrire le raisonnement produit par le modèle fort, ils parvenaient à révéler le contenu caché. L’attaque ne nécessitait pas de briser le chiffrement lui-même, mais exploitait le fait que le fournisseur acceptait et traitait des blocs opaques intacts provenant d’autres contextes.
« Le chiffrement n’a pas été cassé, et l’attaque n’a pas nécessité l’obtention d’une clé de chiffrement. Elle reposait sur l’acceptation et le traitement de blocs opaques intacts par le fournisseur. » - Extrait du papier de recherche
Quatre voies d’attaque démontrées
Vol de raisonnement propriétaire pour distillation de modèles
La première voie d’attaque consiste à extraire le raisonnement d’un modèle fort (comme GPT-5) pour l’utiliser afin d’entraîner un modèle concurrent ou une version moins chère. En récupérant les traces de raisonnement, un attaquant peut améliorer les performances d’un modèle plus faible sans payer les coûts d’inférence du modèle fort. C’est un vol de propriété intellectuelle caractérisé.
Extraction de données privées depuis des traces publiées
De nombreux développeurs publient des agent logs (journaux d’agents) contenant des blocs de raisonnement opaques. Les chercheurs ont analysé 6 708 trajectoires d’agents publiques et ont décodé 315 320 blocs. Parmi les 704 artefacts non liés à des benchmarks, 64 n’apparaissaient que dans le raisonnement caché et nulle part dans la trace visible. Ainsi, même si un développeur nettoie le texte lisible de son journal, les secrets peuvent rester dans un bloc opaque qu’un autre compte peut rejouer. Les artefacts sensibles comprenaient 62 clés API, 33 mots de passe, 24 jetons d’accès et 7 clés privées.
Récupération de contenu nuisible dissimulé
Certains utilisateurs peuvent cacher des instructions malveillantes ou des contenus dangereux dans le raisonnement opaque, en produisant une réponse visible innocente. L’attaque permet de révéler ces contenus, exposant les fournisseurs à des risques de moderation manquée. Inversement, un attaquant peut forger un bloc opaque portant une instruction malveillante et le rejouer dans une tâche non liée, provoquant une action non autorisée sans que l’instruction apparaisse dans le texte visible.
Injection de prompt invisible
Les chercheurs ont réalisé une preuve de concept : ils ont fabriqué un bloc opaque contenant une instruction malveillante (par exemple « ajouter un fichier à un dossier de téléchargement ») puis l’ont rejoué dans une session légitime. Le modèle a exécuté l’action sans que l’instruction ne soit jamais visible dans le champ texte. Cela ouvre la porte à des attaques par injection de prompt persistantes et indétectables.
Résultats chiffrés de l’étude
| Type d’artefact | Nombre récupéré | Uniquement dans le raisonnement caché |
|---|---|---|
| Clés API | 62 | 12 |
| Mots de passe | 33 | 8 |
| Jetons d’accès | 24 | 5 |
| Clés privées | 7 | 3 |
| Autres secrets | 578 | 36 |
| Total | 704 | 64 |
« Sur les 704 artefacts non liés à des benchmarks, 64 n’apparaissaient que dans le raisonnement caché et nulle part dans la trace visible. » - Extrait de l’étude
Ces données montrent que le nettoyage des traces visibles est insuffisant. Les blocs opaques peuvent contenir des secrets qui restent accessibles après publication.
Implications pour la sécurité des API et des applications IA
Risques pour les développeurs et les entreprises
La faille touche directement les développeurs qui utilisent les API de raisonnement pour construire des applications agentiques. Si ces applications publient des logs contenant des blocs opaques (par exemple dans des référentiels publics comme GitHub, des journaux d’erreurs ou des bases de données partagées), les secrets internes peuvent être extraits par des tiers. Même les traces non publiques peuvent être compromises si un attaquant obtient un accès à un log.
En outre, la portabilité entre utilisateurs pose un problème de confidentialité des données : un bloc de raisonnement produit par un utilisateur A peut être rejoué par un utilisateur B du même fournisseur, permettant à B de voir le raisonnement d’A. Cela viole le principe de séparation des données entre clients d’une API SaaS.
Le problème persistant des logs d’agents
La pratique courante de publier des agent trajectories pour la recherche ou le débogage devient un vecteur de fuite. Les chercheurs ont montré que des journaux d’agents populaires (comme ceux de Hugging Face, de traces de recherche académique) contiennent des blocs opaques portables. Les équipes cybersécurité doivent donc considérer ces blocs comme des données sensibles et les supprimer avant toute publication.
Recommandations pratiques pour les équipes cybersécurité
Face à cette vulnérabilité, plusieurs mesures concrètes doivent être mises en œuvre :
Supprimer systématiquement les blocs de raisonnement opaques de tous les logs, traces et artefacts avant de les partager, même en interne. Utiliser des outils de nettoyage automatisés.
Ne jamais commiter de transcriptions brutes d’API (même si le texte visible a été sanitizé) : les blocs opaques doivent être traités comme des mots de passe.
Vérifier les politiques de gestion d’état des fournisseurs : OpenAI recommande toujours de rejouer les encrypted reasoning items en mode sans état. Anthropic précise désormais que les thinking blocks sont liés au modèle qui les a produits et doivent être supprimés lors d’un changement de modèle. Google gère la compatibilité des thought signatures de manière automatique.
Auditer les journaux d’agents publics déjà publiés pour identifier les blocs opaques encore exploitables. Les chercheurs n’ont pas confirmé si les blocs déjà en ligne restent décodables après les correctifs.
Mettre en place des contrôles d’accès granulaires aux API de raisonnement et limiter les droits de rejeu entre sessions.
# Exemple de script de nettoyage des blocs opaques (pseudocode)
# À intégrer dans le pipeline CI/CD avant publication des logs
déf nettoyer_trace(trace_json):
# Supprime les champs 'encrypted_reasoning' d'OpenAI, 'thinking_blocks' d'Anthropic, 'thought_signatures' de Google
pour chaque message dans trace_json['messages'] :
message.pop('encrypted_reasoning', None)
message.pop('thinking_block', None)
message.pop('thought_signature', None)
retourner trace_json
- Surveiller les publications de recherche sur les attaques par rejeu et les vulnérabilités associées. Le travail de Matthew Green (Johns Hopkins) en mai 2026 avait déjà signalé le comportement de rejeu.
Réponses des fournisseurs et état actuel (2026)
OpenAI, Anthropic, Google : quelles mesures ?
Selon les chercheurs, les attaques démontrées ont cessé de fonctionner après les correctifs déployés par les fournisseurs en août 2026. Toutefois, aucune reconnaissance publique de la faille n’a été faite par OpenAI, Anthropic ou Google. La déclaration de reproductibilité des chercheurs précise que « l’attaque d’extraction principale n’est plus reproductible depuis août 2026 », mais elle repose sur leur propre constat, non sur une confirmation des fournisseurs.
OpenAI n’a pas encore commenté. Anthropic indique dans sa documentation mise à jour que les thinking blocks doivent être supprimés lors du changement de modèle, car les autres modèles les ignorent. Google signale que son backend gère la compatibilité des thought signatures lorsqu’une session change de modèle, mais ne précise pas si cela bloque le rejeu.
La situation des blocs déjà publiés
La question des blocs déjà présents dans des dépôts publics reste ouverte. Les chercheurs ont décodé des centaines de milliers de blocs déjà en ligne, mais n’ont pas indiqué si ces blocs restent décodables aujourd’hui. Les équipes cybersécurité doivent considérer tout log contenant des blocs opaques comme potentiellement compromis et agir en conséquence.
Conclusion : une leçon pour la sécurité des API d’IA
Cette vulnérabilité des API de raisonnement IA illustre un paradoxe : les mécanismes de raisonnement opaque, censés protéger la confidentialité des pensées des modèles, deviennent un vecteur d’exposition. La portabilité des blocs cryptés, utile pour la gestion d’état, ouvre la porte à des attaques de rejeu et d’extraction de secrets. Alors que l’utilisation des API de raisonnement explose dans les applications agentiques, les développeurs et les RSSI doivent intégrer cette faille dans leur analyse des risques. La recommandation la plus immédiate : ne jamais partager de logs bruts contenant des blocs opaques, même après sanitization du texte visible. La recherche en sécurité des modèles de langage progresse vite ; rester informé des dernières publications (comme celle de Matthew Green et l’équipe de Stealing Reasoning Traces) est essentiel pour maintenir une posture de sécurité adaptée.
Pour aller plus loin : consultez les recommandations de l’ANSSI sur la sécurisation des API et le guide RGPD pour le traitement des données par IA.