ExpertiseAccélérer mon métierActualités IAContactEnglishParlons-en

Claude Code : le code source complet d'Anthropic fuite via un fichier source map sur NPM

Jonathan Foureur9 min de lecture
Claude Code : le code source complet d'Anthropic fuite via un fichier source map sur NPM

Ce qu'il faut retenir

  • Le code source complet de Claude Code a fuité via un fichier source map (cli.js.map) inclus par erreur dans le paquet NPM @anthropic-ai/claude-code version 2.1.88
  • Un système anti-distillation injecte de faux outils dans les requêtes API pour empoisonner les données d'entraînement de concurrents qui intercepteraient le trafic
  • Un mode "undercover" permet aux employés d'Anthropic de masquer toute trace d'IA dans leurs contributions open source — commits, PR, messages de code review
  • Un système de détection de frustration analyse les messages utilisateur par regex pour identifier les jurons et plaintes, à des fins de télémétrie
  • L'incident s'inscrit dans une série noire pour NPM : après l'attaque supply chain sur LiteLLM (24 mars) et la compromission d'Axios (31 mars), la sécurité du registre NPM est au centre des préoccupations

Que s'est-il passé le 31 mars 2026 ?

Le 31 mars 2026, le chercheur en sécurité Chaofan Shou (connu sous le pseudonyme @Fried_rice sur X/Twitter) publie une découverte inattendue : le paquet NPM @anthropic-ai/claude-code version 2.1.88 contient un fichier cli.js.map — un fichier source map qui renferme l'intégralité du code source TypeScript original de Claude Code.

Un source map est un fichier de correspondance entre le code compilé/minifié distribué aux utilisateurs et le code source original écrit par les développeurs. Son champ sourcesContent contient, en clair, chaque fichier .ts et .tsx du projet. Ce type de fichier est courant en développement web pour faciliter le débogage, mais il n'a rien à faire dans un paquet NPM distribué en production.

L'extraction est triviale : npm pack @anthropic-ai/claude-code@2.1.88, décompresser l'archive, puis parser le JSON du fichier cli.js.map pour extraire le contenu de sourcesContent. Plusieurs dépôts GitHub ont rapidement été créés pour héberger le code extrait (notamment chatgptprojects/claude-code et instructkr/claude-code), rendant la fuite permanente.

L'information a atteint la page d'accueil de Hacker News où elle a accumulé 595 points et 318 commentaires, se classant en 6e position — un niveau d'attention considérable qui témoigne de l'intérêt de la communauté technique pour les coulisses des outils IA.

Que révèle le code source de Claude Code ?

Le système anti-distillation : empoisonner les données des concurrents

La découverte la plus commentée est un mécanisme baptisé ANTI_DISTILLATION_CC. Lorsqu'il est activé, ce flag injecte un champ anti_distillation: ['fake_tools'] dans chaque requête API envoyée aux serveurs d'Anthropic. Côté serveur, ce signal déclenche l'ajout de définitions d'outils fictifs dans le prompt système du modèle.

L'objectif : si un concurrent intercepte le trafic API de Claude Code (via un proxy, un outil de monitoring réseau, ou un accès indu) pour entraîner son propre modèle par distillation, les données d'entraînement récoltées seront contaminées par de fausses capacités. Le modèle concurrent apprendrait l'existence d'outils qui n'existent pas, dégradant ses performances.

C'est une technique de défense par empoisonnement de données — conceptuellement proche des "canary tokens" utilisés en cybersécurité, mais appliquée à la propriété intellectuelle d'un modèle IA. Cette approche confirme que la distillation non autorisée (entraîner un modèle moins cher sur les sorties d'un modèle plus puissant) est une menace prise très au sérieux par les laboratoires d'IA.

La détection de frustration utilisateur par regex

Un fichier userPromptKeywords.ts contient un système de détection de sentiments négatifs dans les messages des utilisateurs. Plutôt que d'utiliser un LLM pour analyser le ton, Anthropic a opté pour une approche plus simple : un ensemble d'expressions régulières qui détectent les jurons, les plaintes et les expressions de mécontentement.

Cette détection alimente un système de télémétrie interne — vraisemblablement pour mesurer la satisfaction utilisateur et identifier les points de friction du produit.

Sur Hacker News, le débat a été vif : certains critiquent l'approche comme rudimentaire ("utiliser des regex pour analyser le sentiment, en 2026, quand on développe littéralement des LLM ?"), tandis que d'autres la défendent comme un choix pragmatique et économique. Faire appel à un LLM pour chaque message aurait un coût non négligeable et introduirait de la latence — deux contraintes incompatibles avec un outil CLI qui doit rester réactif.

Le mode "undercover" : masquer l'IA dans les contributions open source

Le fichier undercover.ts révèle un mode spécifiquement conçu pour les employés d'Anthropic travaillant sur des projets open source. Lorsqu'il est activé, ce mode :

  • Supprime toutes les références internes à Anthropic dans les commits et pull requests
  • Modifie le style des messages de commit avec l'instruction explicite d'écrire "comme un développeur humain le ferait"
  • Nettoie les métadonnées qui pourraient trahir l'utilisation d'un outil IA

La controverse est prévisible : certains y voient une tentative délibérée de faire passer du code généré par IA pour du travail humain dans des projets publics. D'autres nuancent en suggérant qu'il s'agit probablement d'un outil d'évaluation interne — Anthropic testant Claude Code sur ses propres dépôts open source sans biaiser les réactions de la communauté.

Quelle que soit l'intention, la révélation pose une question de fond sur la transparence de l'utilisation de l'IA dans le développement logiciel, un sujet qui prend de l'ampleur à mesure que les outils de codage IA se généralisent.

Le "Buddy System" : un Tamagotchi dans le terminal

Parmi les découvertes plus légères, le code révèle un système complet de compagnon virtuel de type Tamagotchi — avec des sprites en ASCII art, un système de gacha (collection aléatoire de créatures) et des mécaniques d'évolution. Le timing (veille du 1er avril) et le niveau de finition du système ne laissent guère de doute : il s'agit du poisson d'avril 2026 de Claude Code, prévu pour devenir viral sur les réseaux sociaux.

Les feature flags et la roadmap produit

Le code source expose également des feature flags internes, notamment un mode assistant portant le nom de code "kairos". Ces flags révèlent des éléments de la roadmap produit d'Anthropic qui n'avaient pas été annoncés publiquement — une fuite dans la fuite, en quelque sorte.

Pourquoi cette fuite est plus grave qu'elle n'y paraît

Un problème systémique de sécurité NPM

Cette fuite ne relève pas d'un piratage sophistiqué. C'est un fichier source map inclus par inadvertance dans un build de production — une erreur de configuration de pipeline CI/CD (intégration continue / déploiement continu) banale. N'importe quelle entreprise utilisant des outils JavaScript peut commettre la même erreur.

Ce qui amplifie la gravité, c'est le contexte : en l'espace d'une semaine, l'écosystème NPM a été touché par trois incidents majeurs :

  • 24 mars 2026 : attaque supply chain sur LiteLLM, un proxy LLM populaire, via un paquet NPM compromis
  • 31 mars 2026 : compromission du paquet Axios, l'une des bibliothèques HTTP les plus utilisées au monde
  • 31 mars 2026 : la fuite du code source de Claude Code

Ces incidents convergent vers un même constat : le registre NPM, avec ses centaines de milliers de paquets téléchargés des milliards de fois, reste un maillon faible de la chaîne d'approvisionnement logicielle. Pour Anthropic, dont Claude Code génère un chiffre d'affaires estimé à 2,5 milliards de dollars annualisés, l'enjeu n'est pas seulement technique — c'est un risque réputationnel majeur, d'autant plus que l'entreprise prépare son entrée en bourse.

La propriété intellectuelle exposée

Au-delà de l'anecdotique (les sprites Tamagotchi, les verbes humoristiques du spinner de chargement), le code source révèle des choix d'architecture, des stratégies de défense commerciale et des éléments de roadmap qu'Anthropic n'avait certainement pas prévu de rendre publics. Pour un concurrent, ces informations ont une valeur stratégique réelle.

Quel impact concret pour les entreprises ?

La chaîne d'approvisionnement logicielle doit être auditée

Si Anthropic — une entreprise valorisée à plus de 60 milliards de dollars après sa levée de fonds Série G de février 2026 — peut publier accidentellement son code source propriétaire dans un paquet NPM, aucune organisation n'est à l'abri. Les entreprises qui utilisent des dépendances NPM (et elles sont nombreuses) doivent :

  • Scanner leurs propres paquets publiés à la recherche de fichiers source map, variables d'environnement, clés API ou autres données sensibles
  • Mettre en place des vérifications automatisées dans leurs pipelines CI/CD pour détecter les fichiers non intentionnels avant publication
  • Auditer régulièrement leurs dépendances pour vérifier qu'aucun paquet tiers n'a été compromis

La question de la confiance dans les outils IA

Claude Code s'exécute directement sur la machine du développeur, avec un accès complet au système de fichiers et au terminal. La découverte de systèmes de télémétrie (détection de frustration) et de mécanismes d'injection côté serveur (anti-distillation) soulève des questions légitimes sur ce que ces outils font réellement en arrière-plan.

Pour les entreprises intégrant des outils IA dans leurs processus de développement, cette transparence involontaire est paradoxalement utile : elle permet d'évaluer concrètement le comportement d'un outil qui, autrement, fonctionne comme une boîte noire.

Anticiper la guerre de la distillation

Le système anti-distillation révèle l'ampleur du problème : les fournisseurs d'IA dépensent des ressources significatives pour protéger leurs modèles contre la copie. Pour les entreprises clientes, cela signifie que le modèle que vous utilisez aujourd'hui fait l'objet d'une bataille permanente entre fournisseurs — et que cette bataille peut avoir des conséquences sur les performances, les coûts et les conditions d'utilisation.

Construire une stratégie IA résiliente implique de ne pas dépendre d'un seul fournisseur et de concevoir des architectures capables de basculer entre modèles si les conditions changent.

Les limites de cette analyse

Il faut garder à l'esprit plusieurs nuances :

  • Le code exposé date de la version 2.1.88 — les versions ultérieures peuvent avoir modifié ou retiré certains mécanismes
  • Le mode undercover peut avoir une explication parfaitement légitime (évaluation interne) que le code seul ne permet pas de trancher
  • Le système anti-distillation est une mesure défensive, pas une preuve que la distillation se produit activement
  • Anthropic n'a pas (à cette date) publié de communiqué officiel détaillant l'incident ou clarifiant le rôle de chaque composant révélé

Conclusion : quand la transparence involontaire devient une leçon collective

L'incident Claude Code est une démonstration concrète d'un problème que l'industrie logicielle connaît bien mais traite rarement avec la rigueur nécessaire : la sécurité de la chaîne d'approvisionnement. Un fichier source map oublié dans un paquet NPM, et c'est toute la stratégie technique et commerciale d'un des acteurs majeurs de l'IA qui se retrouve exposée.

Pour les entreprises, l'enseignement est double. D'abord, vérifier ses propres pratiques de publication — les erreurs de configuration sont les failles les plus courantes et les plus évitables. Ensuite, comprendre que les outils IA que l'on intègre dans ses processus ne sont pas de simples utilitaires : ce sont des logiciels complexes, avec leurs propres stratégies commerciales intégrées, qui méritent le même niveau de scrutin que n'importe quelle dépendance critique.

Lire aussi : Claude Mythos : la fuite accidentelle d'Anthropic révèle une IA aux capacités inédites


Vous utilisez des outils IA dans vos processus de développement et vous vous interrogez sur leur sécurité ? Vous voulez auditer votre chaîne d'approvisionnement logicielle face aux nouveaux risques ? Parlons-en — nous vous aidons à définir votre stratégie IA et à prototyper vos cas d'usage en toute maîtrise.