En quelques heures, une erreur de configuration dans un pipeline de build a rendu publiques plus de 512 000 lignes de TypeScript constituant le cœur de Claude Code, l'outil de programmation assistée par IA d'Anthropic. Le chercheur en sécurité qui a découvert la fuite n'a eu qu'à suivre un lien dans un fichier de débogage pour accéder à l'intégralité du projet. Depuis, le dépôt GitHub de sauvegarde a été forké plus de 41 500 fois. La communauté des développeurs a désormais accès à la feuille de route d'une entreprise valorisée à 380 milliards de dollars.Tout a commencé dans la nuit du 31 mars 2026. Un ingénieur d'Anthropic pousse une mise à jour de routine du paquet npm de Claude Code. Dans l'archive publiée se glisse un fichier source map ; un artefact de débogage de 59,8 mégaoctets dont la vocation première est de relier le code minifié et obfusqué à son code source original, pour faciliter l'identification des bogues en développement. En production, ce type de fichier n'a rien à faire dans un paquet distribué publiquement.
Ce fichier map contenait une référence au code source TypeScript non obfusqué, qui pointait vers une archive ZIP hébergée sur un bucket Cloudflare R2 appartenant à Anthropic, un bucket accessible sans authentification. Il suffisait de suivre le lien.
Moins de trois heures après la publication, le chercheur en sécurité Chaofan Shou repère l'anomalie et la signale sur X. Six heures plus tard, quelqu'un a sauvegardé l'intégralité des 512 000 lignes de TypeScript sur GitHub. L'entreprise retire rapidement le paquet fautif, mais internet n'a pas attendu.
Le dépôt public de sauvegarde dépasse rapidement 1 100 étoiles et 1 900 forks. L'auteur original du dépôt, conscient des risques juridiques liés à l'hébergement de propriété intellectuelle d'Anthropic, finit par remplacer le contenu par un portage Python de Claude Code. Cela n'empêche pas les copies de proliférer.
Anthropic a confirmé l'incident dans un communiqué lapidaire transmis à The Register : il s'agissait d'un problème d'empaquetage provoqué par une erreur humaine, non d'une faille de sécurité. Aucune donnée client ni aucun identifiant n'ont été exposés. L'entreprise précise qu'elle déploie des mesures pour éviter toute récurrence.
L'architecture interne d'un outil de production sérieux
La fuite révèle d'abord l'ampleur réelle du projet. Environ 1 900 fichiers TypeScript, plus de 512 000 lignes de code, une quarantaine d'outils intégrés, une cinquantaine de commandes slash. Ce n'est pas une couche de vernis posée sur une API de chat : Claude Code est une plateforme de développement à part entière.
L'outil tourne sur le runtime Bun plutôt que Node.js, et utilise React via la bibliothèque Ink pour le rendu de l'interface dans le terminal, une interface en composants avec gestion d'état, exactement comme une application web. Le moteur de requêtes, qui gère l'ensemble des appels à l'API LLM, du streaming, du cache et de l'orchestration, représente à lui seul 46 000 lignes de code.
L'architecture repose sur un système de plugins : chaque fonctionnalité (lecture de fichiers, exécution de commandes bash, récupération de pages web, intégration LSP) est un outil discret soumis à un système de permissions. Une couche de communication bidirectionnelle connecte les extensions EDI (VS Code, JetBrains) à l'interface ligne de commande via des canaux authentifiés par JWT.
L'ingénieur allemand Gabriel Anhaia, qui a publié une analyse détaillée du code exposé, résume la leçon à en tirer pour tout développeur : un seul fichier .npmignore mal configuré, ou un champ files oublié dans le package.json, suffit à tout exposer. Il recommande d'utiliser npm pack --dry-run avant chaque publication pour vérifier le contenu exact de l'archive distribuée.
La feuille de route involontairement rendue publique
La partie la plus stratégiquement sensible de la fuite n'est pas ce qu'Anthropic a livré à ses utilisateurs : c'est ce que l'entreprise avait déjà construit sans encore le rendre disponible.
Le code source contient 44 drapeaux de fonctionnalités. Dans la version publique, certains de ces interrupteurs sont désactivés. Dans la version interne, ils sont actifs. Le code correspondant n'est pas expérimental : il est compilé et fonctionnel.
Parmi les fonctionnalités déjà construites et identifiées dans le code, plusieurs retiennent l'attention. Un système baptisé Kairos permettrait à Claude d'opérer de façon autonome en arrière-plan, surveillant des dépôts GitHub, suivant les pull requests et envoyant des notifications push. Un mode Coordinator permettrait à une instance de Claude d'orchestrer une équipe d'agents Claude secondaires, chacun disposant d'un jeu d'outils restreint et d'un espace de travail propre. Un module Agent Triggers donnerait à l'outil la capacité d'exécuter des tâches planifiées via des cron jobs et des webhooks externes.
La liste continue : une interface vocale complète utilisant le modèle de reconnaissance Deepgram Nova 3, une intégration Playwright permettant le contrôle d'un vrai navigateur (non pas du scraping, mais une interaction pilotée comme le ferait un humain), et un système de mémoire persistante qui survivrait aux redémarrages sans stockage externe.
La conclusion s'impose : Anthropic ne construit pas lentement ces fonctionnalités. Elles sont déjà prêtes. La cadence de publication (une nouveauté toutes les deux semaines environ) est un choix délibéré de rythme, non une contrainte technique. Cette stratégie de dévoilement progressif, désormais publiquement documentée, sera difficile à maintenir : les concurrents connaissent à présent l'agenda précis d'Anthropic.
Un animal de compagnie virtuel caché derrière du code...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
à toutes et tous,

