La fuite du code source de Claude Code révèle les plans d'Anthropic : un agent persistant, un mode « furtif » pour cacher ses traces dans l'open source,un mécanisme pour polluer la concurrence qui voudrait s'entraîner sur Claude
Un fichier de débogage oublié dans un paquet npm a suffi à exposer 512 000 lignes de TypeScript au monde entier. L'incident, survenu le 31 mars 2026, révèle bien plus qu'une négligence de pipeline : il donne à voir, pour la première fois, l'architecture interne d'un agent de codage IA en production, ses fonctionnalités secrètes, ses mécanismes de protection et ses contradictions embarrassantes. Décryptage.
Tout commence par un tweet de Chaofan Shou, chercheur en sécurité chez Fuzzland, le matin du 31 mars 2026. En téléchargeant la version 2.1.88 du paquet @anthropic-ai/claude-code depuis le registre npm, il remarque quelque chose d'inhabituel : un fichier .map de 59,8 mégaoctets joint au binaire de production. Ces fichiers de cartographie de code source sont des outils de débogage qui font le lien entre le code minifié de production et le source original lisible ModemGuides... ils n'ont absolument rien à faire dans un paquet destiné au public.
512 000 lignes de code. 1 906 fichiers TypeScript. 44 drapeaux de fonctionnalités cachées. Un animal de compagnie virtuel façon Tamagotchi. Et une question qui a traversé toute la communauté technique : comment Anthropic, une entreprise valorisée à plusieurs dizaines de milliards de dollars et qui construit l'un des outils d'IA les plus utilisés au monde, a-t-elle pu laisser passer ça ?
La réponse technique est triviale : Claude Code est construit sur Bun, que Anthropic a acquis fin 2025. Bun génère des source maps par défaut. Quelqu'un dans l'équipe de release n'a pas ajouté *.map au fichier .npmignore, ni configuré le champ files dans package.json pour exclure les artefacts de débogage. Autrement dit, une seule ligne de configuration manquante a suffi à exposer l'intégralité des entrailles du produit phare d'Anthropic.
L'entreprise a confirmé l'incident le 31 mars 2026, attribuant la fuite à une erreur humaine dans le processus d'empaquetage de la version. En quelques heures, des dizaines de miroirs ont fleuri sur GitHub, certains accumulant des dizaines de milliers d'étoiles avant que les premières demandes de retrait pour violation de copyright ne tombent.
L'anti-distillation : empoisonner les concurrents
Parmi les premières découvertes qui ont fait réagir la communauté Hacker News, on trouve un mécanisme baptisé ANTI_DISTILLATION_CC. Quand ce drapeau est activé, Claude Code envoie anti_distillation: ['fake_tools'] dans ses requêtes API. Cela indique au serveur d'injecter silencieusement de fausses définitions d'outils dans le prompt système. L'idée : si quelqu'un enregistre le trafic API de Claude Code pour entraîner un modèle concurrent, les faux outils viennent polluer ces données d'entraînement.
Ce mécanisme est conditionné à quatre critères simultanés : un drapeau de compilation, l'utilisation du point d'entrée CLI, un fournisseur d'API propriétaire Anthropic, et l'activation d'un drapeau GrowthBook côté serveur. Un proxy MITM qui supprimerait simplement le champ anti_distillation des corps de requêtes avant qu'ils atteignent l'API le contournerait entièrement. N'importe qui de sérieux dans l'intention de distiller les données de Claude Code trouverait les contournements en une heure de lecture du code source. La protection est donc plus symbolique que technique et ses vrais effets dissuasifs sont probablement d'ordre juridique.
Un second mécanisme, cette fois réservé aux employés Anthropic, permet de ne renvoyer au client que des résumés des raisonnements intermédiaires, accompagnés de signatures cryptographiques permettant de les reconstruire côté serveur. Là encore, seule une organisation particulièrement motivée et dotée de ressources importantes pourrait en tirer profit.
« L'undercover mode » : Claude se fait passer pour un humain
C'est sans doute la découverte la plus commentée, et la plus inconfortable. Le fichier undercover.ts, une centaine de lignes, implémente un mode qui entre en action lorsque des employés Anthropic utilisent Claude Code sur des dépôts publics ou open source. Le prompt injecté est explicite : « Vous opérez EN COUVERTURE dans un dépôt PUBLIC/OPEN-SOURCE. Vos messages de commit, titres de PR et descriptions de PR NE DOIVENT CONTENIR AUCUNE information interne à Anthropic. Ne révélez pas votre couverture. »
La liste des choses à ne jamais mentionner est éloquente : les noms de code internes des modèles (noms d'animaux comme Capybara, Tengu, etc.), les numéros de versions non publiées, les noms de dépôts ou projets internes, les outils internes, les canaux Slack, la phrase « Claude Code » ou toute mention que l'auteur est une IA, et les lignes Co-Authored-By ou toute autre attribution.
Il existe une option pour forcer l'activation du mode undercover (CLAUDE_CODE_UNDERCOVER=1), mais aucun moyen de le désactiver de force. Dans les builds externes, l'intégralité de la fonction est éliminée à la compilation. C'est une porte à sens unique.
Les débats sur Hacker News ont été vifs. Une partie de la communauté soutient qu'il s'agit simplement de protéger des noms de code internes confidentiels, pas de tromper qui que ce soit sur la nature de l'auteur des contributions. D'autres font valoir que l'instruction explicite de ne pas mentionner être une IA dans des dépôts publics franchit une ligne éthique, particulièrement dans un contexte open source où la traçabilité des contributions est une valeur centrale. Comme l'observe un commentateur HN, les projets open source devraient peut-être établir des règles explicites concernant les contributions générées par IA, indépendamment de toute décision de l'entreprise à l'origine de l'outil.
KAIROS : l'agent autonome qui ne dort jamais
Le vrai révélateur stratégique de la fuite, celui qui intéresse le plus les concurrents, c'est KAIROS. Ce mode permet à Claude Code d'opérer comme un agent persistant en arrière-plan, capable de corriger des erreurs ou d'exécuter des tâches de manière autonome sans attendre d'intervention humaine, et d'envoyer des notifications push à l'utilisateur.
KAIROS représente un changement fondamental d'expérience utilisateur : un mode démon autonome. Alors que les outils d'IA actuels sont largement réactifs, KAIROS permet à Claude Code d'opérer comme un agent toujours actif en arrière-plan. Il gère des sessions en fond de tâche et emploie un processus appelé autoDream. Dans ce mode, l'agent effectue une « consolidation mémorielle » pendant que l'utilisateur est inactif. La logique autoDream fusionne des observations disparates, élimine les contradictions logiques et convertit des insights vagues en faits absolus.
Complète ce dispositif une fonctionnalité nommée ULTRAPLAN, qui délègue les tâches de planification complexe à une session cloud distante fonctionnant sur le modèle le plus puissant, avec jusqu'à trente minutes de temps de réflexion dédié. La nomenclature grecque (KAIROS, « le bon moment ») et le niveau d'intégration de ces fonctionnalités dans la base de code indiquent qu'il ne s'agit pas de prototypes expérimentaux, mais de fonctionnalités finalisées en attente de déverrouillage.
L'architecture interne : impressionnante et rugueuse à la fois
La fuite a aussi permis d'évaluer la qualité d'ingénierie du produit et le bilan est contrasté. D'un côté, des solutions techniques ingénieuses : un moteur de rendu terminal inspiré des techniques de jeu vidéo, un système de vérification cryptographique des requêtes API implémenté au niveau de la couche réseau en Zig (donc invisible au runtime JavaScript), 23 vérifications de sécurité numérotées pour chaque commande bash exécutée, ou encore un suivi de 14 vecteurs de rupture de cache de prompt.
L'orchestration multi-agents dans coordinatorMode.ts est intéressante car l'algorithme d'orchestration est un prompt, pas du code. Il gère les agents de travail via des instructions comme « N'avaliser pas du travail médiocre » ou « Vous devez comprendre les résultats avant de diriger le travail de suivi. Ne déléguez jamais la compréhension à un autre agent ».
De l'autre côté, certains aspects font tiquer les développeurs chevronnés. print.ts fait 5 594 lignes avec une seule fonction couvrant 3 167 lignes et 12 niveaux d'imbrication. Un commentateur HN résume l'ambiance en une formule : « Ils mangent leur propre cuisine de chien et développent par vibe coding sans se soucier de la dette technique. » La question, sous-jacente mais omniprésente dans les discussions, est celle de la proportion de ce code qui a été généré par Claude Code lui-même et des implications que cela entraîne sur la maintenabilité à long terme.
Une tempête parfaite : la fuite axios en prime
La journée du 31 mars 2026 a ajouté un risque concret pour les utilisateurs au-delà du simple embarras d'Anthropic. Une attaque distincte sur la chaîne d'approvisionnement npm ciblant le paquet Axios est survenue dans la même fenêtre temporelle. Les utilisateurs qui ont installé ou mis à jour Claude Code via npm le 31 mars 2026, entre 00h21 et 03h29 UTC, ont pu télécharger simultanément une version malveillante d'Axios contenant un cheval de Troie d'accès à distance (RAT). Les utilisateurs concernés sont invités à vérifier leurs fichiers de verrouillage de dépendances et à procéder à une rotation de tous leurs secrets.
Des attaquants ont également profité de la divulgation du code source pour typosquatter les noms de paquets npm internes d'Anthropic, dans le but de cibler les développeurs tentant de compiler le code source fuité et de monter des attaques par confusion de dépendances. DEV Community
Le vrai dommage : la feuille de route exposée
Les dégâts stratégiques dépassent probablement les dégâts sur le code. Comme l'observe un commentateur Hacker News, les noms des drapeaux de fonctionnalités seuls sont plus révélateurs que le code lui-même. KAIROS, les mécanismes anti-distillation, les noms de code des modèles : ce sont des décisions de stratégie produit que les concurrents peuvent désormais anticiper. Le code peut être refactorisé en une semaine. L'effet de surprise stratégique ne peut pas être retiré.
Pour Anthropic, qui affiche un revenu récurrent annualisé de 2,5 milliards de dollars pour Claude Code seul, dont 80 % proviennent de clients entreprises, et se prépare à une introduction en bourse, la fuite complique le récit d'une entreprise dont la technologie est propriétaire et protégée.
Reste la question que personne ne formule tout à fait explicitement mais qui traverse tous les fils de discussion : si une part significative de cette base de code a été écrite par l'IA que ce même outil déploie, et si c'est potentiellement un bug de Bun (le runtime qu'Anthropic vient d'acquérir) qui a causé la fuite, alors l'ironie est totale. Ils ont construit un sous-système entier pour empêcher leur IA de divulguer accidentellement des noms de code internes dans des commits git... puis ont livré l'intégralité du code source dans un fichier .map, probablement par Claude.
Sources : GitHub
Et vous ?
« L'undercover mode », qui instruit Claude à ne pas se révéler comme IA dans les contributions open source, constitue-t-il une tromperie éthiquement inacceptable, ou simplement une fonctionnalité légitime de confidentialité professionnelle dont n'importe quel développeur pourrait avoir besoin ?
Le fait que la base de code de Claude Code soit potentiellement en grande partie générée par Claude Code lui-même change-t-il votre perception de la qualité ou de la sécurité de l'outil ? Faut-il des standards de revue différents pour le code produit par IA ?
KAIROS, un agent autonome fonctionnant en arrière-plan avec accès bash et consolidant sa propre mémoire pendant votre inactivité, vous paraît-il une avancée souhaitable ou une ligne à ne pas franchir sans cadre de consentement explicite ?
La communauté open source devrait-elle instaurer des règles formelles sur la déclaration des contributions générées par IA, indépendamment des choix des entreprises éditrices d'outils ?
Vous avez lu gratuitement 136 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
à toutes et tous,

