
Le monde est une immense troupe d’amateurs : l’histoire complète de la fuite publique du code source de Claude Code
TechFlow SélectionTechFlow Sélection

Le monde est une immense troupe d’amateurs : l’histoire complète de la fuite publique du code source de Claude Code
Une entreprise qui affirme construire « l’IA la plus sûre » ne parvient même pas à protéger son propre CMS de blog et ses paquets npm.
Rédigé par : Claude
Le 31 mars à 4 h 23 (heure de l’Est des États-Unis), Chaofan Shou, développeur chez Solayer Labs (qui se présente lui-même comme stagiaire), a publié un message sur X accompagné d’un lien de téléchargement.
Quelques heures plus tard, le code source intégral de Claude Code — le produit commercial phare d’Anthropic — était dupliqué sur GitHub, avec plus de 41 500 forks, et décortiqué ligne par ligne par des milliers de développeurs sur Hacker News.
L’origine de cette fuite est si absurde qu’elle en devient comique : en publiant la version 2.1.88 de Claude Code sur le dépôt public npm, Anthropic avait oublié d’exclure les fichiers .map dans sa configuration d’empaquetage. Ce fichier source map pointait vers une archive zip stockée dans le bucket Cloudflare R2 d’Anthropic, contenant environ 1 900 fichiers TypeScript et plus de 512 000 lignes de code. Tout le monde pouvait la télécharger, la décompresser et la lire.
Une simple omission dans un fichier .npmignore a ainsi rendu publique la base de code du produit phare d’une entreprise dont le chiffre d’affaires annuel s’élève à 19 milliards de dollars.
Ironie supplémentaire : il s’agit de la deuxième fuite d’Anthropic en cinq jours. Le 26 mars, Fortune rapportait qu’en raison d’une mauvaise configuration, le système de gestion de contenu (CMS) d’Anthropic avait exposé près de 3 000 documents internes non publiés dans une base de données publiquement consultable, y compris un brouillon complet de blog décrivant en détail le prochain modèle « Claude Mythos » (dénomination interne : Capybara). Dans ce brouillon, Anthropic écrivait elle-même que ce nouveau modèle « engendre des risques sans précédent pour la cybersécurité ».
Une société qui affirme construire « l’IA la plus sûre au monde » ne parvient même pas à protéger son propre CMS de blog ni ses paquets npm.
I. Qu’est-ce qui a été divulgué ? Du « faux outil » anti-distillation à la contribution open source clandestine
Commençons par la découverte la plus remarquable.
44 indicateurs de fonctionnalité (feature flags), dont 20 non encore activées. Le code divulgué contient 44 indicateurs de fonctionnalité couvrant l’intégralité de la feuille de route produit d’Anthropic encore non publiée. Il ne s’agit pas ici de concepts théoriques présentés dans une présentation PowerPoint, mais bien de code finalisé, compilé et prêt à être mis en production dès activation de l’indicateur. Certains commentateurs ont noté : « Ils lancent une nouvelle fonctionnalité toutes les deux semaines parce qu’elles sont toutes déjà terminées. »
KAIROS : mode Agent autonome en arrière-plan. Le terme « KAIROS » (mot grec ancien signifiant « le moment opportun »), apparaissant plus de 150 fois dans le code, constitue la fuite stratégique la plus importante concernant la feuille de route produit. Il implémente un démon Agent persistant tournant en arrière-plan, incluant notamment une journalisation quotidienne, un abonnement aux webhooks GitHub, un rafraîchissement planifié toutes les cinq minutes, ainsi qu’une fonction nommée autoDream, qui, durant les périodes d’inactivité de l’utilisateur, procède automatiquement à une « consolidation des souvenirs », éliminant les informations contradictoires et transformant les intuitions floues en faits certains. Ce n’est plus un simple outil conversationnel du type « vous posez, je réponds », mais un collègue IA toujours connecté et capable de s’auto-améliorer.
Mécanisme anti-distillation : « empoisonnement » des concurrents. Le code contient un indicateur nommé ANTI_DISTILLATION_CC. Une fois activé, Claude Code injecte dans les requêtes API des définitions d’outils factices directement dans le prompt système. L’objectif est clair : si quelqu’un enregistre le trafic API de Claude Code afin d’entraîner un modèle concurrent, ces outils factices viendront corrompre les données d’entraînement. Une deuxième couche de défense consiste en un résumé côté serveur du texte, où la chaîne complète de raisonnement est remplacée par une signature cryptographique, garantissant ainsi que tout espionnage ne permettrait d’obtenir qu’une version compressée.
Le développeur Alex Kim, après analyse, a souligné que le seuil technique pour contourner ces protections n’était pas élevé : « Tout acteur sérieux s’adonnant à la distillation pourrait probablement trouver une méthode de contournement en environ une heure. La véritable protection réside sans doute au niveau juridique. »
Mode Undercover : l’IA fait semblant d’être humaine. Le fichier undercover.ts implémente un « mode furtif » : lorsqu’il est utilisé dans un projet externe à Anthropic, Claude Code supprime automatiquement toute trace interne — aucune mention de dénominations internes, de canaux Slack ou même du nom « Claude Code ». Un commentaire dans le code précise : « Aucune option de désactivation forcée n’est prévue. Il s’agit d’une mesure de sécurité contre la divulgation des dénominations internes. »
Cela signifie qu’à chaque fois qu’un employé d’Anthropic contribue à un projet open source public, la participation de l’IA à la création du code est systématiquement masquée. La réaction sur Hacker News a été immédiate : masquer les dénominations internes, soit ; mais faire en sorte que l’IA simule délibérément l’identité humaine, c’est une autre affaire.
Détection des insultes via expressions régulières. Le fichier userPromptKeywords.ts contient une expression régulière écrite manuellement afin de détecter si l’utilisateur exprime de la frustration ou de la colère, avec des correspondances telles que « wtf », « shit », « fucking broken », « piece of crap », etc. Le fait qu’une entreprise spécialisée dans les modèles linguistiques (LLM) recoure à des expressions régulières pour effectuer une analyse des émotions a été jugé sur Hacker News comme « l’ironie suprême ». Certains ont toutefois relevé que lancer une inférence complète juste pour déterminer si l’utilisateur s’insulte est effectivement coûteux, et qu’ici, l’expression régulière peut très bien être l’outil le plus adapté.
II. Comment cela s’est-il produit ? La chaîne d’outils d’Anthropic s’est retournée contre elle-même
La chaîne causale technique est particulièrement ironique.
Claude Code repose sur le runtime Bun. Anthropic a acquis Bun à la fin de l’année 2025. Le 11 mars, un bug a été signalé dans le dépôt GitHub de Bun (oven-sh/bun#28001) : les fichiers source map sont toujours envoyés en mode production, bien que la documentation officielle de Bun indique explicitement qu’ils devraient être désactivés. Ce bug n’a toujours pas été corrigé.
Si ce bug est bien à l’origine de la fuite, alors l’histoire devient la suivante : la chaîne d’outils propriétaire d’Anthropic, acquise par la société elle-même, embarque un bug connu mais non corrigé, exposant ainsi le code source intégral du produit phare d’Anthropic.
Dans le même temps, quelques heures avant la fuite, le paquet axios sur npm a subi une attaque de la chaîne d’approvisionnement. Entre 00 h 21 et 03 h 29 UTC le 31 mars, les utilisateurs ayant installé ou mis à jour Claude Code ont pu télécharger une version malveillante d’axios contenant un cheval de Troie permettant un accès à distance (RAT). Anthropic a ensuite conseillé aux utilisateurs de délaisser l’installation via npm au profit de paquets binaires autonomes.
VentureBeat qualifie cet événement de « saignement stratégique de propriété intellectuelle », allant bien au-delà d’une simple négligence en matière de sécurité — pour une entreprise dont le chiffre d’affaires annuel atteint 19 milliards de dollars.
III. Le paradoxe de la « société de sécurité IA »
C’est là la tension narrative la plus profonde de l’ensemble de l’incident.
Le récit commercial d’Anthropic repose sur une différenciation centrale : « Nous sommes plus responsables qu’OpenAI. » Que ce soit via l’« IA constitutionnelle », la publication ouverte de recherches en sécurité, la limitation volontaire des capacités des modèles ou la coopération avec les gouvernements pour une divulgation responsable des vulnérabilités, Anthropic ne vend pas la supériorité technologique, mais la « confiance ».
Pourtant, deux fuites en cinq jours ne révèlent pas un problème de compétence technique, mais bien un défaut d’organisation opérationnelle. La première fuite provenait d’un paramétrage par défaut du CMS rendu public, sans vérification préalable. La seconde résultait d’une omission dans la configuration d’empaquetage npm, sans validation adéquate. Il ne s’agit pas là de défis techniques complexes, mais d’éléments basiques figurant sur toute checklist d’exploitation élémentaire.
Le code divulgué révèle également des données internes intrigantes. Un commentaire dans autoCompact.ts indique qu’au 10 mars, environ 250 000 appels API étaient gaspillés quotidiennement en tentatives répétées et infructueuses d’auto-compression. 1 279 sessions ont connu plus de 50 échecs consécutifs (le record étant de 3 272). La correction ? Trois lignes de code : désactiver la fonction après trois échecs consécutifs.
Les commentaires internes relatifs au modèle Capybara (le futur modèle phare Claude) indiquent que le taux de « déclarations factices » de la version v8 s’élève à 29–30 %, soit une régression par rapport aux 16,7 % de la version v4. Les développeurs ont même ajouté un « inhibiteur de confiance » afin d’empêcher le modèle d’être trop radical lors de la refactorisation de code.
Ces chiffres en eux-mêmes ne constituent pas un scandale. Tous les développements logiciels comportent des bogues et des régressions. Mais la tension entre ces données et le discours public d’Anthropic est bien réelle : une entreprise qui prétend résoudre « le problème le plus difficile de l’histoire humaine » — l’alignement de l’IA — commet simultanément une erreur aussi fondamentale qu’une omission dans un fichier .npmignore.
Comme le résume un tweet : « Publier accidentellement un fichier source map sur npm est une erreur qui semble impossible… jusqu’à ce qu’on se souvienne qu’une grande partie de ce code a très probablement été écrite par l’IA que le projet vient justement de publier. »
IV. Que voient les concurrents ?
Pour le paysage concurrentiel des outils de programmation IA, la valeur de cette fuite ne réside pas dans le code lui-même. Gemini CLI de Google et Codex d’OpenAI ont tous deux publié en open source leurs kits de développement d’Agents (Agent SDK), mais ceux-ci ne sont que des boîtes à outils, pas le câblage interne d’un produit complet.
L’ampleur du code de Claude Code (512 000 lignes, 1 900 fichiers) et sa complexité architecturale révèlent un fait incontestable : ce n’est pas un simple wrapper autour d’une API, mais bel et bien un système d’exploitation complet destiné aux développeurs. 40 plugins d’outils isolés par permissions, un moteur de requêtes de 46 000 lignes, un système d’orchestration multi-Agents (dénommé en interne « swarm »), une couche de communication bidirectionnelle avec les IDE, 23 contrôles de sécurité Bash (dont 18 commandes intégrées Zsh interdites et une protection contre l’injection de caractères Unicode zéro largeur), 14 vecteurs d’invalidation de cache de prompts suivis.
Pour les concurrents, le code peut être restructuré, mais la direction produit de KAIROS, la stratégie anti-distillation, ainsi que les références de performance et les défauts connus du modèle Capybara constituent des informations stratégiques irrémédiablement compromises dès leur divulgation.
Dix jours plus tôt, Anthropic avait envoyé une lettre de mise en demeure à OpenCode, un projet open source, exigeant la suppression de son support intégré du système d’authentification Claude, car des outils tiers utilisaient l’API interne de Claude Code pour accéder au modèle Opus à un prix d’abonnement plutôt qu’au prix à l’usage. Désormais, OpenCode n’a plus besoin de reverse engineering : les plans sont là, forkés 41 500 fois.
V. 187 verbes pour les animations de chargement : la touche humaine dans l’improvisation
Entre toutes les analyses sérieuses de sécurité et les évaluations d’intelligence concurrentielle, le code divulgué renferme aussi des éléments qui arrachent un sourire complice.
L’animation de chargement de Claude Code dispose de 187 verbes aléatoires, parmi lesquels « Synthesizing excuses », « Consulting the oracle », « Reticulating splines », « Bargaining with electrons », « Asking nicely », etc. Un ingénieur d’Anthropic a manifestement consacré une énergie disproportionnée à rédiger des blagues pour ces animations de chargement.
Le code contient également une fonction qui est presque certainement une plaisanterie d’avril : le fichier buddy/companion.ts implémente un système d’animaux virtuels. Chaque utilisateur obtient, de façon déterministe selon son identifiant, une créature virtuelle (18 espèces disponibles, avec des niveaux de rareté allant du commun au légendaire, une probabilité de 1 % d’apparition d’une variante « scintillante », et des attributs RPG incluant DEBUGGING et SNARK). Les noms des espèces sont encodés via String.fromCharCode(), spécifiquement pour échapper aux recherches textuelles du système de compilation.
Ces détails forment une juxtaposition étrange avec les failles de sécurité graves : au sein d’un même dépôt, certains conçoivent méticuleusement des « poisons » anti-distillation destinés à contrer les concurrents, d’autres mettent en œuvre sérieusement des preuves client côté Zig pour les appels API, tandis que d’autres encore rédigent 187 blagues pour l’animation « en cours de réflexion ».
C’est là une tranche de réalité interne authentique d’une entreprise valorisée à plusieurs dizaines de milliards de dollars, en pleine course pour définir la relation entre l’humain et l’IA. Elle n’est ni la collection de génies décrite dans les mythes californiens, ni simplement une « équipe improvisée » qu’un simple étiquetage suffirait à qualifier. Elle ressemble davantage à une organisation composée de personnes extrêmement intelligentes, construisant à une vitesse vertigineuse des produits d’une complexité extrême, et qui, inévitablement, trébuchent sur les fondamentaux les plus élémentaires.
Le porte-parole d’Anthropic a répondu à Fortune : « Il s’agit d’un problème d’empaquetage lié à une erreur humaine, non d’une faille de sécurité. »
Techniquement, c’est exact. Une simple omission dans un fichier .npmignore n’est effectivement pas une « faille de sécurité ». Mais lorsqu’un récit commercial entier repose sur l’affirmation « Nous prenons la sécurité plus au sérieux que quiconque », une succession d’« erreurs humaines » sur deux semaines transmet un signal potentiellement plus destructeur que n’importe quelle faille de sécurité.
Pour conclure, un fait : cet article a été rédigé par Claude. L’IA d’Anthropic, utilisant des informations issues du code source divulgué par Anthropic, a rédigé une analyse expliquant pourquoi Anthropic n’arrive pas à maîtriser sa propre information. Si cela vous semble absurde, alors vous avez déjà saisi l’atmosphère fondamentale de l’industrie de l’IA en 2026.
Note : Cette mention a également été ajoutée à la demande explicite de Claude.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














