
Anthropic a confirmé le 31 mars que la version v2.1.88 du paquet npm de l’outil CLI Claude Code a exposé environ 512 000 lignes de code source à cause d’une erreur d’empaquetage lors de sa publication. Anthropic a ensuite soumis une notification de protection des droits d’auteur DMCA à GitHub, interdisant l’accès public à un total de 8 100 dépôts.
La cause profonde de cet incident a laissé le milieu du développement sans voix : par défaut, l’outil de bundling Bun génère des fichiers Source Map de débogage, et dans l’ensemble du processus de publication d’Anthropic, aucune étape ne désactive ou n’exclut ce fichier. L’objectif des Source Map est de mapper le code de production compressé vers le code TypeScript d’origine. Ce fichier pointe directement vers un paquet ZIP compressé accessible publiquement dans le bucket de stockage Cloudflare R2 propre à Anthropic — sans qu’il soit nécessaire d’employer la moindre technique de piratage.
Après avoir découvert le problème, un chercheur stagiaire de la société de sécurité blockchain Fuzzland, Chaofan Shou, a publié sur la plateforme X un lien direct vers le bucket. En quelques heures, de nombreux dépôts miroirs sont apparus sur GitHub, et certains dépôts avaient déjà accumulé des dizaines de milliers d’étoiles avant que la notification DMCA ne prenne effet.
Techniquement, il suffisait d’ajouter les entrées correspondantes dans le fichier .npmignore, ou de les configurer dans le champ files de package.json, pour empêcher que cet incident ne se produise. Anthropic a confirmé à VentureBeat que c’est un « problème d’empaquetage de publication causé par une erreur humaine », et a indiqué qu’elle prenait des mesures pour éviter toute répétition.
Cependant, la même erreur s’est reproduite pour la deuxième fois. En février 2025, une version précoce de Claude Code a déjà connu un incident de fuite de Source Map presque identique, et Anthropic a ensuite soumis sa première notification DMCA en avril 2025.
Les quelque 1 900 fichiers TypeScript divulgués couvrent la logique d’exécution de l’outil, l’architecture des permissions, le système de mémoire, la télémétrie et les commutateurs de fonctionnalités. Les membres de la communauté ont rapidement extrait les données de télémétrie, basculé les commutateurs de fonctions cachées, et ont écrit des versions de “reconstruction en salle blanche” en Python et Rust. Les fonctionnalités non publiées les plus remarquables sont les suivantes :
KAIROS : un processus de surveillance d’arrière-plan fonctionnant en continu, qui surveille les fichiers, enregistre les événements, et exécute à l’état d’inactivité un processus d’intégration de mémoire appelé « Dreaming (Faire des rêves) »
BUDDY : une fonctionnalité d’animal de compagnie terminal, avec 18 espèces (y compris le ragondin), dotée d’attributs tels que DEBUGGING (débogage), PATIENCE (patience) et CHAOS (chaos)
COORDINATOR MODE : permet à un seul agent de générer et de gérer plusieurs agents de travail parallèles
ULTRAPLAN : organise des réunions à distance d’agents multiples planifiées de 10 à 30 minutes
Cet incident n’est pas un événement isolé. À peine 5 jours plus tôt, le 26 mars, Anthropic a divulgué environ 3 000 documents internes à cause d’une erreur de configuration CMS, y compris des détails du modèle « Claude Mythos » non publié, et cela a également été attribué à une erreur humaine. En moins d’une semaine, deux grandes fuites inattendues se sont succédé, suscitant des doutes généralisés quant au caractère systémique des règles de publication de cette société d’IA qui contribue largement au développement et à la publication de code.
Anthropic a confirmé que cet incident n’a impliqué aucune fuite de données sensibles de clients, de justificatifs, de poids de modèles, ni d’infrastructure d’inférence, et que le cœur du modèle Claude n’a pas été affecté. Toutefois, le plan d’architecture technique pour construire un produit concurrent de Claude Code a désormais considérablement abaissé la barrière d’entrée.
À noter également : le même jour, de 00:21 à 03:29 UTC, une attaque de la chaîne d’approvisionnement visant le paquet axios a également eu lieu sur npm. Anthropic recommande, dans cette fenêtre horaire, d’installer ou de mettre à jour les dépendances faisant l’objet d’un examen du codeur pour Claude Code et de faire tourner (remplacer) les justificatifs, et recommande pour l’avenir d’utiliser en priorité l’installateur natif officiel plutôt que npm.
Les fichiers Source Map générés par défaut par l’outil de bundling Bun pointent directement vers un paquet ZIP compressé public dans le bucket de stockage Cloudflare R2 propre à Anthropic. N’importe qui a seulement besoin d’accéder à ce lien public pour télécharger l’intégralité du code source TypeScript ; l’ensemble du processus n’implique aucune action d’intrusion technique.
Non. Même si GitHub a retiré les dépôts concernés conformément à la notification DMCA, le code source divulgué circule déjà sur plusieurs plateformes sous forme d’archives, de miroirs et de versions reconstituées ; l’élimination complète est pratiquement impossible. Les actions DMCA d’Anthropic ont limité la diffusion directe, mais le plan technique s’est largement propagé.
Anthropic confirme qu’aucune donnée d’utilisateur, aucun justificatif et aucun modèle n’ont été divulgués. Toutefois, si les développeurs installent ou mettent à jour Claude Code via npm entre le 31 mars 00:21 UTC et 03:29 UTC, ils devraient examiner les dépendances et faire tourner (remplacer) les justificatifs, car au cours de la même période npm a également subi une attaque de chaîne d’approvisionnement visant le paquet axios.