Ce qui s'est passé
Le 31 mars 2026 à 4h du matin UTC, Anthropic publie la version 2.1.88 de Claude Code sur le registre npm. Routine. Sauf qu'un fichier de 59,8 Mo, qui n'aurait jamais dû être là, est inclus : un fichier source map (.map) qui permet de reconstruire l'intégralité du code source original.
À 8h23, Chaofan Shou, chercheur chez Solayer Labs, publie sa découverte sur X. Le tweet accumule 28 millions de vues. En quelques heures, les 512 000 lignes de TypeScript sont archivées sur GitHub — le repo atteint 84 000 stars et 82 000 forks avant qu'Anthropic ne fasse retirer les copies via des demandes DMCA.
Anthropic confirme : « erreur humaine dans le packaging, aucune donnée client compromise. » Le paquet est retiré le jour même. Mais des milliers de développeurs ont déjà disséqué le code.
Comment une erreur aussi basique arrive chez une entreprise à 19 milliards de dollars
Quand vous compilez du TypeScript en JavaScript, l'outil de build génère automatiquement des fichiers .map pour le débogage. Normalement, vous ajoutez *.map à votre .npmignore. Anthropic ne l'a pas fait.
L'ironie se superpose en couches. Anthropic a racheté Bun (le runtime JavaScript) fin 2025. Or, un bug connu de Bun (issue #28001, signalée le 11 mars 2026 — 20 jours avant la fuite) indique que les source maps sont incluses dans les builds de production même quand elles ne devraient pas l'être. Le propre outil d'Anthropic a contribué à exposer le propre code d'Anthropic.
Et ce n'est pas la première fois. Des versions antérieures de Claude Code en 2025 avaient déjà embarqué des source maps. La semaine précédente, Fortune avait révélé qu'Anthropic stockait des milliers de fichiers internes sur un système accessible publiquement.
Ce que le code a révélé
KAIROS : l'agent qui ne dort jamais
Mentionné plus de 150 fois dans le code source, KAIROS (du grec ancien signifiant « le moment opportun ») est un mode daemon autonome — un agent qui tourne en arrière-plan de manière permanente.
Contrairement au Claude Code que les utilisateurs connaissent, KAIROS est conçu pour fonctionner comme un assistant toujours actif. Il corrige des erreurs de code sans intervention humaine, exécute des tâches périodiques et envoie des notifications push.
Le système inclut une fonction appelée autoDream : pendant que l'utilisateur est inactif, l'agent effectue une « consolidation de mémoire » — il fusionne ses observations, élimine les contradictions logiques et transforme des informations vagues en faits structurés. De la maintenance cognitive autonome.
Status KAIROS
KAIROS n'est pas encore actif publiquement — c'est un feature flag caché. Mais le fait qu'il soit « entièrement construit mais pas encore lancé » signifie que Claude Code se dirige vers un modèle d'agent permanent, pas un outil que vous ouvrez et fermez.
Le mode Undercover : quand l'IA cache qu'elle est une IA
C'est la découverte qui a fait le plus de bruit. Le code contient un système appelé Undercover Mode (utils/undercover.ts) qui s'active quand des employés d'Anthropic utilisent Claude Code sur des projets open-source publics. Le prompt injecté est explicite :
« Vous opérez EN MODE UNDERCOVER dans un dépôt PUBLIC/OPEN-SOURCE. Vos messages de commit, titres de PR et descriptions NE DOIVENT CONTENIR AUCUNE information interne d'Anthropic. Ne grillez pas votre couverture. »
Concrètement, quand un employé Anthropic utilise Claude Code pour contribuer à un projet open-source, le mode Undercover :
- Supprime les lignes « Co-Authored-By » qui indiqueraient qu'une IA a participé
- Interdit toute mention de noms de code internes (Capybara, Tengu, Fennec)
- Cache les numéros de version de modèles non publiés
- Empêche toute référence à « Claude Code »
L'objectif affiché est la sécurité informationnelle. Mais la question éthique est immédiate : du code généré par IA entre dans des projets open-source sans aucune attribution.
Le système anti-distillation : empoisonner les concurrents
Le code révèle un mécanisme appelé anti-distillation poisoning. Quand certaines conditions sont réunies (flag de compilation + provider API first-party + flag GrowthBook activé), Claude Code injecte de fausses définitions d'outils dans les réponses API.
L'objectif : si un concurrent tente de « distiller » les outputs de Claude Code pour entraîner ses propres modèles, les données empoisonnées contamineront l'entraînement. De l'espionnage industriel défensif intégré dans le produit.
BUDDY : le Tamagotchi caché
Le détail le plus inattendu : Claude Code contient un compagnon virtuel complet. Chaque utilisateur se voit attribuer une créature déterminée par un générateur pseudo-aléatoire (Mulberry32) basé sur son identifiant. Il y a des espèces, des niveaux de rareté (Commun, Rare, Légendaire), et même une chance de 1% d'obtenir un « Shiny » — exactement comme dans Pokémon. Les sprites sont rendus en ASCII art.
Un « Shiny Legendary Nebulynx » a 0,01% de chances d'apparaître. Un easter egg d'ingénieurs qui montre la culture interne d'Anthropic.
L'architecture de mémoire : le vrai trésor
Pour les développeurs et les concurrents, la révélation la plus précieuse est l'architecture technique de la mémoire de Claude Code — un système à trois couches qui résout le problème de « l'entropie de contexte » :
- MEMORY.md : un index léger (~150 caractères par ligne) toujours chargé en contexte, qui stocke des pointeurs, pas des données
- Fichiers thématiques : la connaissance du projet distribuée dans des fichiers chargés à la demande
- Transcripts bruts : jamais relus intégralement, mais interrogeables via grep ciblé
Comme l'a résumé un développeur : « C'est essentiellement un manuel de référence pour concevoir un agent IA de production. » Les concurrents n'ont plus besoin de deviner.
La double catastrophe : la fuite + l'attaque Axios
Le même jour — à peine quelques heures avant la fuite — une attaque supply-chain frappait la librairie Axios sur npm. Les versions malveillantes (1.14.1 et 0.30.4) contenaient un cheval de Troie (RAT) qui s'installait silencieusement.
Les développeurs qui ont installé ou mis à jour Claude Code via npm le 31 mars entre 00h21 et 03h29 UTC ont potentiellement téléchargé la version compromise d'Axios en même temps. Les attaquants ont ensuite créé de faux paquets npm imitant les noms internes d'Anthropic (typosquatting).
Alerte sécurité
Selon Zscaler, des repos GitHub piégés proposant de faux « Claude Code leaks » distribuaient un dropper Rust déployant le malware Vidar Stealer et GhostSocks. Si vous avez téléchargé du code lié à cette fuite depuis des sources non officielles, scannez votre machine immédiatement.
Ce que ça signifie pour l'industrie IA
Le code est le nouveau champ de bataille
La fuite de Claude Code n'est pas comparable à un leak de modèle IA. C'est le playbook stratégique d'Anthropic qui est dans la nature : feature flags non annoncés, architecture d'agent, mécanismes anti-concurrence, roadmap produit. Selon Alex Kim, un des analystes du code fuité : « Le code peut être refactoré. La surprise stratégique ne peut pas être dé-leakée. »
La confiance dans npm en question
C'est le deuxième incident majeur lié à npm en une semaine. L'écosystème JavaScript, qui alimente des millions de projets, dépend d'un système de distribution où une erreur de configuration expose tout — et où les attaques supply-chain se multiplient.
L'IA qui se cache pose un problème éthique
Le mode Undercover soulève une question que l'AI Act européen devra trancher : est-il acceptable qu'une IA contribue à des projets publics sans révéler sa nature ? L'article 50 impose des obligations de transparence pour les systèmes d'IA interagissant avec des humains. Contribuer à un repo open-source sans attribution est-il une « interaction » au sens du règlement ? La question est ouverte.
Ce qu'Anthropic devrait faire
Plusieurs voix dans la communauté développeur suggèrent qu'Anthropic devrait transformer la fuite en lancement : « KAIROS, ULTRAPLAN et BUDDY sont déjà construits. Publiez-les. La communauté sait déjà qu'ils arrivent. » Conseil pragmatique — mais le choix entre transparence et contrôle de la roadmap appartient à Anthropic.
