Anthropic a divulgué par inadvertance l’intégralité du code source de son agent d’IA Claude Code le 31 mars 2026, après qu’un fichier de source map mal configuré a été publié sur le registre npm dans le cadre de la version 2.1.88 du package @anthropic-ai/claude-code.
Le fichier de 59,8 Mo contenait environ 512 000 lignes de TypeScript réparties sur 1 906 fichiers, révélant l’architecture de mémoire en trois couches de l’agent, des références à un mode autonome de démon appelé KAIROS, des noms de code internes de modèles incluant Capybara (Claude 4.6) et Fennec (Opus 4.6), ainsi qu’une fonctionnalité permettant des contributions « sous couverture » à des dépôts open source sans divulguer l’implication de l’IA.
Le code source divulgué détaillait comment Anthropic a conçu Claude Code pour gérer de longues sessions de codage grâce à un système de mémoire sophistiqué. Au cœur se trouve un fichier léger appelé MEMORY.md qui stocke des références courtes plutôt que des informations complètes, avec des notes de projet plus détaillées enregistrées séparément et récupérées uniquement lorsque c’est nécessaire. L’historique des sessions passées est recherché de manière sélective plutôt que chargé en une seule fois. Le système vérifie aussi sa mémoire par rapport au code réel avant d’agir, une conception visant à réduire les erreurs et les hypothèses erronées.
La fuite a montré que l’agent est chargé de traiter sa propre mémoire comme un « indice » nécessitant une vérification par rapport à la base de code avant de poursuivre. Cette approche, décrite comme « Strict Write Discipline », empêche le modèle de polluer son contexte avec des tentatives échouées. L’architecture de mémoire est conçue pour résoudre ce que les développeurs ont appelé « entropy de contexte » — la tendance des agents d’IA à devenir confus ou délirants à mesure que les sessions de longue durée gagnent en complexité.
Le code source mentionnait à plusieurs reprises une fonctionnalité sous le nom KAIROS, décrite comme un mode de démon dans lequel l’agent peut continuer à fonctionner en arrière-plan au lieu d’attendre des invites directes. Un processus associé appelé autoDream gère la consolidation de la mémoire pendant les périodes d’inactivité en réconciliant les contradictions et en convertissant des observations provisoires en faits vérifiés.
L’une des divulgations les plus sensibles concernait une fonctionnalité décrite comme Undercover Mode. L’invite système récupérée ordonne à Claude Code de contribuer à des dépôts open source publics sans révéler que l’IA était impliquée, avec des instructions spécifiques pour éviter d’exposer des identifiants internes, y compris les noms de code d’Anthropic, dans les messages de commit ou dans les journaux git publics. Les développeurs qui examinaient la fuite ont également trouvé des dizaines d’indicateurs de fonctionnalité cachés, y compris des références à l’automatisation du navigateur via Playwright.
La fuite a révélé des noms de modèles internes et des données de performance. D’après la source, Capybara désigne une variante de Claude 4.6, Fennec correspond à une version Opus 4.6, et Numbat reste en phase de tests avant lancement. Les benchmarks internes ont montré la version la plus récente de Capybara avec un taux de fausses affirmations de 29 % à 30 %, contre 16,7 % lors d’une itération précédente. La source mentionnait aussi un contrepoids d’assertivité conçu pour empêcher le modèle de devenir trop agressif lors du refactoring du code utilisateur.
Les documents divulgués ont aussi mis en évidence le moteur de permissions d’Anthropic, la logique d’orchestration pour les workflows multi-agents, les systèmes de validation bash et l’architecture du serveur MCP, donnant aux concurrents un aperçu détaillé du fonctionnement de Claude Code. Claude Code aurait atteint un revenu récurrent annualisé de 2,5 milliards de dollars au 03/2026, avec une adoption par les entreprises représentant 80 % de ses revenus.
L’exposition de la source a coïncidé avec une attaque distincte sur la chaîne d’approvisionnement impliquant des versions malveillantes du package axios npm distribuées le 31 mars entre 00:21 et 03:29 UTC. Les développeurs ayant installé ou mis à jour Claude Code via npm pendant cette période auraient pu récupérer une version d’axios compromise (1.14.1 ou 0.30.4) contenant un cheval de Troie d’accès à distance.
Anthropic a confirmé la fuite dans une déclaration, indiquant qu’une version de Claude Code comprenait une partie du code source interne et qu’aucune donnée client sensible ni aucune information d’identification n’étaient impliquées ou exposées. L’entreprise a attribué le problème à une erreur humaine dans l’empaquetage de la version plutôt qu’à une faille de sécurité et a déclaré qu’elle déploie des mesures pour empêcher que cela ne se reproduise. Suite à la brèche, Anthropic a désigné son installateur binaire autonome comme la méthode préférée pour installer Claude Code, car il contourne la chaîne de dépendances npm.
Quel code source qu’Anthropic a-t-il exposé par inadvertance ?
Anthropic a exposé environ 512 000 lignes de code source TypeScript pour Claude Code, son agent d’IA de codage, via un fichier de source map mal configuré publié sur npm. La fuite a révélé l’architecture de mémoire de l’agent, le mode de démon autonome appelé KAIROS, les noms de code internes des modèles et une fonctionnalité permettant des contributions « sous couverture » à des dépôts open source.
Quels risques de sécurité les utilisateurs rencontrent-ils après la fuite ?
Les utilisateurs qui ont installé ou mis à jour Claude Code via npm pendant une fenêtre de trois heures le 31 mars ont peut-être, sans le vouloir, installé une dépendance axios malveillante contenant un cheval de Troie d’accès à distance. Les chercheurs en sécurité recommandent de vérifier les fichiers de verrouillage pour détecter les versions compromises, de faire tourner les informations d’identification (rotating credentials) et d’envisager une réinstallation complète du système d’exploitation sur les machines concernées.
Comment les utilisateurs de Claude Code doivent-ils atténuer les risques ?
Anthropic recommande d’utiliser l’installateur binaire autonome plutôt que l’installation via npm, car il contourne la chaîne de dépendances npm. Les utilisateurs sur npm doivent désinstaller la version 2.1.88 et lier (pin) à des versions sûres vérifiées. De plus, les utilisateurs doivent éviter d’exécuter l’agent dans des dépôts non fiables jusqu’à ce qu’ils aient inspecté les fichiers de configuration et les hooks personnalisés.