Site icon IA-insights

Fuite Claude Code : ce que 512 000 lignes de code révèlent sur l’IA d’Anthropic

fuite-claude-code

fuite-claude-code

Le 31 mars 2026, la veille du 1er avril, Anthropic a involontairement rendu public le code source complet de Claude Code – son outil phare de développement assisté par IA. Pas à cause d’une cyberattaque sophistiquée. Pas à cause d’un espion infiltré. Juste une erreur de packaging npm et un fichier de debug oublié dans une archive.

En quelques heures, 512 000 lignes de TypeScript – représentant des années de R&D d’une entreprise valorisée à plusieurs milliards de dollars – étaient entre les mains de n’importe qui sachant taper npm pack. Voici ce que ça révèle sur la façon dont Anthropic construit ses outils IA, et ce que les professionnels du secteur peuvent en tirer.


Comment un fichier de debug de 60 Mo a exposé un projet à 2,5 milliards de dollars

L’erreur de packaging, expliquée simplement

Claude Code tourne sur Bun – le runtime JavaScript qu’Anthropic a acquis en décembre 2025 – et non sur Node.js comme beaucoup le supposaient. Bun génère des fichiers source map par défaut. Ces fichiers sont des artefacts de debug qui font correspondre le code minifié en production au code source original lisible.

Quelqu’un dans l’équipe de release a oublié d’exclure le fichier *.map via .npmignore ou le champ files de package.json. Résultat : la version 2.1.88 du paquet npm @anthropic-ai/claude-code a été publiée avec un fichier cli.js.map de 59,8 Mo, contenant en clair les 1 900 fichiers TypeScript originaux du projet.

Ce fichier source map pointait également vers une archive ZIP hébergée sur le bucket Cloudflare R2 d’Anthropic – accessible publiquement, sans aucune authentification.

Le chercheur en sécurité Chaofan Shou, stagiaire chez la firme de sécurité blockchain Fuzzland, a repéré l’exposition à 4h23 du matin ET et a posté le lien direct sur X. Le tweet a atteint 21 millions de vues. Des mirrors ont commencé à apparaître sur GitHub dans les heures suivantes, certains accumulant plus de 1 100 étoiles et 1 900 forks avant que les DMCA takedowns d’Anthropic ne tombent.

L’extraction était triviale : npm pack @anthropic-ai/claude-code@2.1.88, décompresser l’archive, lire le fichier map.

Comment l’éviter dans vos propres projets

L’erreur d’Anthropic est reproductible par n’importe quelle équipe qui ne suit pas trois pratiques de base :

  • Configurer un fichier .npmignore listant explicitement *.map, *.ts source, et tous les artefacts de build
  • Utiliser le champ files dans package.json pour whitelister uniquement les fichiers à publier, plutôt que de blacklister au cas par cas
  • Toujours exécuter npm pack --dry-run avant toute publication pour vérifier exactement le contenu de l’archive

La commande npm pack --dry-run affiche la liste complète des fichiers qui seraient inclus, sans rien publier. C’est 30 secondes qui auraient évité cette situation.

Pas une première – la 3e fois que ça arrive

Ce qui rend l’incident d’autant plus notable : c’est le troisième incident de ce type pour Anthropic. Les versions v0.2.8 et v0.2.28, publiées en 2025, avaient déjà contenu des source maps complètes. Anthropic les avait retirées après signalement, mais des copies en cache restaient accessibles via l’infrastructure mirror de npm.

Le 31 mars 2026 ne s’est pas non plus produit dans le vide. Cinq jours plus tôt, le 26 mars, une mauvaise configuration CMS avait exposé environ 3 000 fichiers internes d’Anthropic contenant des détails sur le modèle inédit “Claude Mythos”. Et le même 31 mars, une attaque supply-chain séparée ciblait le paquet axios (active entre 00h21 et 03h29 UTC). Les développeurs ayant installé ou mis à jour Claude Code dans cette fenêtre temporelle sont invités à auditer leurs dépendances et à renouveler leurs credentials.

Deux incidents majeurs de sécurité en une semaine pour une entreprise dont le positionnement central est d’être “safety-first” – c’est un paradoxe que la communauté n’a pas manqué de relever.


Ce que contiennent vraiment les 512 000 lignes – l’architecture interne

Un projet d’ingénierie sérieux, pas un “wrapper LLM”

La première leçon du code source : Claude Code n’est pas un simple chatbot avec une interface terminal. C’est un système d’ingénierie de production avec une architecture modulaire sophistiquée. La définition d’outil de base seule représente 29 000 lignes de TypeScript. Le Query Engine, qui gère tous les appels API LLM, le streaming, le cache et l’orchestration, en fait 46 000.

Le code source complet contient 44 feature flags compilés. Au moins 20 d’entre eux masquent des fonctionnalités entièrement construites et testées, mais absentes de toute release publique.

Les principaux composants révélés :

  • Le Tool System (~40 outils) – chaque capacité (lecture de fichier, exécution bash, fetch web, intégration LSP) est un outil discret, protégé par un système de permissions granulaire
  • Le Query Engine (46 000 lignes) – le cerveau des appels LLM, streaming, cache et orchestration
  • Multi-Agent Orchestration – Claude Code peut spawner des sous-agents pour des tâches parallélisables
  • IDE Bridge System – une couche de communication bidirectionnelle avec VS Code et JetBrains via des canaux authentifiés par JWT
  • Persistent Memory System – un répertoire de mémoire fichier pour stocker le contexte utilisateur entre les sessions

Sur le plan technique, l’utilisation de Bun plutôt que Node.js vise la vitesse de démarrage et une consommation mémoire réduite. React avec Ink pour le rendu terminal fournit un modèle de composants inhabituel pour un outil en ligne de commande. Zod v4 assure la validation de schéma à l’exécution.

KAIROS et autoDream – l’agent qui consolide sa mémoire pendant que vous dormez

KAIROS est la révélation la plus commentée de la fuite. Référencé plus de 150 fois dans le code source, ce système transforme Claude Code d’un outil requête-réponse en un processus de fond persistant.

KAIROS fonctionne comme un service système pour un agent IA : il démarre, persiste, surveille et agit selon son propre calendrier. En pratique :

  • Il maintient des journaux quotidiens en append-only
  • Il reçoit des “tick prompts” périodiques qui lui permettent de décider d’agir proactivement ou de rester silencieux
  • Il applique un budget bloquant de 15 secondes pour ne jamais interrompre le workflow du développeur plus qu’une courte pause

La fonctionnalité compagnon d’autoDream tourne en tant que sous-agent forké dans le répertoire services/autoDream/. Pendant les périodes d’inactivité, ce sous-agent fusionne les observations, supprime les contradictions, convertit les insights vagues en faits absolus, et dispose d’un accès bash en lecture seule pour valider ses conclusions.

En termes clairs : quand vous ne travaillez pas, Claude Code peut “rêver” – consolider sa compréhension de votre projet, nettoyer les informations périmées, et être plus pertinent à la session suivante. Aucun framework d’agents concurrent n’a shipé quoi que ce soit de comparable à ce jour. Cet avantage se comblera rapidement maintenant que des milliers de développeurs ont une implémentation de référence à étudier.

ULTRAPLAN – déléguer la planification complexe à Claude Opus pendant 30 minutes

ULTRAPLAN est la deuxième grande fonctionnalité non publiée révélée par la fuite. Son fonctionnement : déléguer la phase de planification d’une tâche complexe à Claude Opus dans le cloud, avec jusqu’à 30 minutes de temps de réflexion dédié. Le développeur peut surveiller et approuver le plan depuis une interface browser avant que l’exécution ne commence.

Pour les refactorings larges, les migrations d’architecture ou les tâches où une mauvaise planification initiale est coûteuse, c’est une capacité distincte. Combiné à KAIROS, ULTRAPLAN positionne Claude Code comme un environnement de développement persistant plutôt qu’un assistant de session.

L’architecture sous-jacente – différents modèles gérant différentes parties d’un workflow selon leurs forces – n’est pas un concept futuriste. Les primitives sont déjà disponibles via l’API Anthropic. Ce que la fuite révèle, c’est comment Anthropic les assemble en pratique.

Coordinator Mode – les “swarms” d’agents parallèles

Claude Code peut spawner des sous-agents – en interne appelés “swarms” – pour gérer des tâches complexes et parallélisables. Chaque agent tourne dans son propre contexte avec des permissions d’outils spécifiques.

Le Coordinator Mode ajoute une couche d’orchestration : un agent unique gère plusieurs agents workers parallèles via un système de boîte aux lettres. Chaque worker traite une sous-tâche, le coordinateur route le travail et réconcilie les résultats. Ce n’est pas du multithreading – c’est plus proche d’une petite équipe d’agents travaillant en parallèle avec une coordination partagée.


Les révélations que l’on aurait voulu garder secrètes

Undercover Mode – l’IA qui efface ses traces dans l’open source

La découverte la plus controversée de la fuite est un fichier de 90 lignes : undercover.ts.

Ce module implémente un mode qui s’active automatiquement pour les employés d’Anthropic lorsqu’ils utilisent Claude Code sur des repos publics. Il instruit le modèle de ne jamais mentionner qu’il est une IA, de ne jamais citer les codenames internes comme “Capybara” ou “Tengu”, les canaux Slack internes, les noms de repos, ni l’expression “Claude Code” elle-même. En pratique : les commits et pull requests générés par des employés d’Anthropic dans des projets open source publics n’auront aucune indication qu’une IA les a produits.

Le mode s’active automatiquement. Il n’a pas d’interrupteur “off” forcé – si le système n’est pas certain d’opérer dans un repo interne, il reste en mode undercover.

La communauté a eu des réactions nuancées. Protéger les codenames internes est une pratique standard et compréhensible. Demander à une IA d’effacer activement toute attribution de co-auteur dans des projets open source soulève une question éthique différente, notamment vis-à-vis des normes de transparence que beaucoup de ces mêmes projets promeuvent.

La roadmap modèles exposée – Capybara, Fennec, Numbat

La fuite a dévoilé trois codenames de modèles en développement chez Anthropic, confirmés par plusieurs analyses indépendantes du code source :

  • Capybara – variant interne de Claude 4.6, identique au modèle précédemment reporté sous le nom “Mythos” dans la fuite CMS du 26 mars
  • Fennec – correspondant à Opus 4.6
  • Numbat – modèle encore en phase de test, non annoncé

Les benchmarks internes inclus dans le code sont particulièrement révélateurs. Capybara v8 la version la plus récente mentionnée – affiche un taux de fausses affirmations de 29 à 30%, en régression par rapport aux 16,7% observés dans la v4. Un “assertiveness counterweight” est explicitement conçu pour empêcher le modèle de réécrire du code trop agressivement.

Pour les concurrents d’Anthropic, ces métriques valent de l’or : elles fournissent un benchmark précis du “plafond” actuel des performances agentiques et indiquent les faiblesses spécifiques – over-commenting, fausses affirmations qu’Anthropic tente encore de résoudre. Ce type d’information ne disparaît pas avec un DMCA takedown.

L’anti-distillation – Anthropic empoisonnait les scrapers

Une des découvertes les moins commentées mais techniquement intéressantes : Anthropic avait mis en place des mécanismes injectant de faux outils dans les requêtes API pour empoisonner les données d’entraînement si des concurrents tentaient de scraper les outputs de Claude Code.

Ces mécanismes sont maintenant publics. Leur efficacité future contre des adversaires informés est donc compromise. On peut aussi noter l’ironie : une entreprise qui protège son code source au point de poursuivre légalement les reverse-engineers (un développeur avait reçu une mise en demeure DMCA en avril 2025) se retrouve à exposer elle-même ces mécanismes défensifs.

Le bug à 250 000 appels API perdus par jour

Un commentaire dans autoCompact.ts documente avec une précision désarmante un bug interne : 1 279 sessions avaient connu 50 échecs consécutifs d’auto-compaction ou plus – certaines jusqu’à 3 272 par session – gaspillant environ 250 000 appels API par jour à l’échelle globale. Le commentaire inclut la date de quantification du bug : 10 mars 2026.

Le fix : trois lignes de code, plafonnant les échecs consécutifs à 3. Parfois, l’ingénierie de qualité consiste à savoir quand arrêter d’insister.


Ce qu’on peut apprendre du code d’Anthropic

La détection de frustration par regex – génie ou pragmatisme ?

Le module userPromptKeywords.ts contient un pattern regex qui détecte les jurons et signaux de frustration dans les messages utilisateur. La communauté Hacker News s’en est donnée à coeur joie : une entreprise de LLM qui utilise des regex pour l’analyse de sentiment, c’est l’ironie absolue.

Mais le code est pragmatiquement correct. Déclencher une inférence LLM pour déterminer si un utilisateur vient d’écrire un message frustré serait lent, coûteux et difficile à tester. Un regex de quelques centaines de caractères fait le même travail en microsecondes, avec un comportement déterministe. La télémétrie utilise ce signal pour ajuster la réponse, pas pour logger les conversations complètes.

La leçon : dans les systèmes IA de production, tous les problèmes ne méritent pas une solution IA.

Les feature flags à la manière Anthropic

Claude Code v2.1.88 contient 44 feature flags compilés au build time. Chaque fonctionnalité non publiée – KAIROS, ULTRAPLAN, Coordinator Mode, BUDDY, Voice Mode avec interface push-to-talk complète – existe avec une vraie implémentation derrière un flag, pas un stub ou une maquette.

C’est la même approche que Chrome, Android, ou les grandes infrastructures de Google et Meta : les ingénieurs mergent du code terminé en continu dans la branche principale. Les product managers activent les flags sélectivement selon les cibles de build, les segments utilisateur, ou les rings de déploiement.

Ce découplage entre “feature terminée” et “feature releasée” permet d’itérer en interne sans exposer les utilisateurs à des fonctionnalités en cours de stabilisation, et de tester avec les employés en conditions de production réelles. Pour les équipes qui buildent des outils IA, c’est une architecture de référence concrète.

BUDDY – la “stickiness” émotionnelle comme stratégie produit

La découverte la plus inattendue de la fuite : un système de compagnon Tamagotchi complet intégré à Claude Code. BUDDY offre 18 espèces avec des niveaux de rareté (commun à 60%, légendaire à 1%), des variants shiny, et des stats incluant DEBUGGING, PATIENCE, CHAOS, WISDOM et SNARK. Chaque utilisateur obtient une créature déterministe générée depuis son identifiant utilisateur via un algorithme PRNG.

Le lancement était prévu comme teaser du 1er avril, avec un déploiement complet en mai. La fuite a grillé la surprise.

Au-delà de l’anecdote, BUDDY illustre une réflexion produit sérieuse : dans un marché où les outils de coding assisté convergent techniquement, l’attachement émotionnel devient un différenciateur. C’est la même logique que les streaks de Duolingo – simple, potentiellement superficielle, mais efficace sur la rétention.


Les implications stratégiques pour l’écosystème IA

Le vrai dommage – la roadmap, pas le code

Le code source peut être refactorisé en une semaine. Une roadmap ne peut pas être “dé-fuée”. Le dommage stratégique réel de cette exposition dépasse largement le code lui-même : les noms de feature flags, les mécanismes anti-distillation, les codenames de modèles, les benchmarks internes – ce sont des décisions stratégiques et des avantages concurrentiels que des adversaires informés peuvent maintenant anticiper et contrer.

Les concurrents d’Anthropic – des acteurs établis comme Google et OpenAI aux outils plus ciblés comme Cursor – disposent maintenant d’un blueprint concret pour construire un agent de coding à haute autonomie, avec une fraction du budget R&D. L’architecture de KAIROS et autoDream, jusqu’ici sans équivalent public, va accélérer le rattrapage de l’open source.

Un moment délicat pour Anthropic

Anthropic génère environ 2,5 milliards de dollars de revenus annualisés, dont 80% en provenance de clients enterprise, et se prépare à une introduction en bourse. Ces clients enterprise paient en partie pour la conviction que la technologie de leur fournisseur est propriétaire et protégée, et que leur partenaire prend la sécurité au sérieux.

Deux incidents significatifs accidentels en une semaine – à un moment où l’entreprise a besoin de maximiser la confiance institutionnelle – représente un dommage de réputation qui ne se mesure pas en lignes de code exposées.

Ce que ça change pour l’open source

Pendant des années, la sophistication de Claude Code a constitué une barrière à l’entrée pour les alternatives open source. Cette barrière est maintenant beaucoup plus basse. Des développeurs ont déjà commencé à nettoyer et réécrire des parties du code source en Rust. Les concepts de KAIROS, autoDream et Coordinator Mode vont rapidement se retrouver dans les frameworks d’agents open source.

La différenciation se déplace alors entièrement vers les capacités des modèles eux-mêmes et l’expérience utilisateur – deux domaines où Anthropic reste fort, mais où son avance architecturale vient de se réduire.


Conclusion – accident, incompétence, ou meilleur coup PR accidentel de 2026 ?

Une théorie circule dans la communauté tech : cette “fuite” était peut-être le meilleur coup de communication involontaire de l’année. La semaine précédant l’incident, Anthropic essuyait des critiques sévères pour ses limitations d’utilisation jugées abusives. En 48 heures après la fuite, le sentiment des développeurs s’est retourné : de “Anthropic c’est n’importe quoi” à “regardez ce qu’ils sont en train de construire en interne”.

La réalité est probablement plus simple et plus embarrassante : c’est la même erreur, commise pour la troisième fois, par une entreprise qui a activement poursuivi en justice un développeur pour avoir reverse-engineered ce même code en avril 2025.

Ce qu’on ne saura jamais : si quelqu’un en interne connaissait le bug Bun qui génère des source maps en mode production (signalé le 11 mars, encore ouvert) et a fait un mauvais calcul de risque. Ce qui n’est pas en question : le code révèle que Claude Code est un projet d’ingénierie sérieux, avec des choix architecturaux réfléchis et des fonctionnalités non publiées qui positionnent l’outil pour une autonomie accrue.

Pour les professionnels de l’IA qui suivent ia-insights.fr : les concepts exposés – mémoire persistante inter-sessions, agents de fond autonomes, orchestration multi-modèles, feature flags granulaires – sont les patterns qui vont définir la prochaine génération d’outils IA de production. Qu’Anthropic ait voulu les montrer ou non.


FAQ – Questions fréquentes sur la fuite Claude Code

Comment le code source de Claude Code a-t-il fuité en mars 2026 ?

Un fichier de debug (source map) de 59,8 Mo a été inclus par erreur dans la version 2.1.88 du paquet npm @anthropic-ai/claude-code, publiée le 31 mars 2026. Ce fichier contenait en clair les 1 900 fichiers TypeScript originaux du projet et pointait vers une archive zip hébergée publiquement sur le bucket Cloudflare R2 d’Anthropic, accessible sans authentification.

Quelles données ont été exposées dans la fuite Claude Code ?

Environ 1 900 fichiers TypeScript représentant 512 000 lignes de code : architecture des outils, schémas de permissions, systèmes de mémoire, télémétrie, system prompts, feature flags, et benchmarks internes de modèles. Aucune donnée client ni credential utilisateur n’a été exposée. Anthropic a confirmé : “Il s’agissait d’un problème de packaging causé par une erreur humaine, pas d’une faille de sécurité. Aucune donnée client sensible ou credential n’a été impliqué.”

Qu’est-ce que KAIROS dans le code source de Claude Code ?

KAIROS est un daemon de fond autonome qui transforme Claude Code d’un outil requête-réponse en un processus persistant. Il surveille les fichiers, journalise les événements, et déclenche “autoDream” – un sous-agent de consolidation de mémoire qui tourne pendant l’inactivité pour fusionner les observations, supprimer les contradictions et convertir les insights vagues en faits absolus. C’est une fonctionnalité non publiée, gérée par un feature flag.

Quels sont les prochains modèles d’Anthropic révélés par la fuite ?

Trois codenames ont été exposés dans le code source : Capybara (variant Claude 4.6, également appelé “Mythos”), Fennec (Opus 4.6), et Numbat (modèle encore en test, non annoncé). Les benchmarks internes révèlent un taux de fausses affirmations de 29-30% pour Capybara v8, en régression par rapport aux 16,7% de la v4.

Qu’est-ce que l'”Undercover Mode” de Claude Code ?

Un module d’environ 90 lignes (undercover.ts) qui s’active automatiquement pour les employés d’Anthropic sur des repos publics. Il instruit le modèle de supprimer toute attribution “Co-Authored-By” dans les commits, de ne pas mentionner les codenames internes ni l’existence de Claude Code. Le mode n’a pas d’interrupteur “off” forcé pour les builds externes.

Comment éviter ce type d’erreur npm dans ses propres projets ?

Trois pratiques essentielles : configurer un fichier .npmignore excluant les fichiers *.map et tous les artefacts de build ; utiliser le champ files dans package.json pour whitelister explicitement les fichiers à inclure ; toujours exécuter npm pack --dry-run avant toute publication pour vérifier le contenu exact de l’archive. Trente secondes de vérification qui auraient évité cet incident.

BUDDY est-il vraiment dans le code de Claude Code ?

Oui. BUDDY est un système de compagnon Tamagotchi complet, avec 18 espèces, des niveaux de rareté de commun (60%) à légendaire (1%), des variants shiny, et des stats incluant DEBUGGING, PATIENCE, CHAOS, WISDOM et SNARK. Il était prévu comme teaser du 1er avril 2026, avec un lancement complet en mai. La fuite a dévoilé la surprise.


Sources principales : VentureBeat, The New Stack, DEV Community (analyse de Gabriel Anhaia), Alex Kim’s blog, Layer5.io, WaveSpeed AI, déclaration officielle Anthropic via CNBC.

Quitter la version mobile