Pas de groupe APT, pas d’exploit zero-day. Le 31 mars 2026, le code source complet de Claude Code, l’agent de développement d’Anthropic, s’est retrouvé en accès public à cause d’une banale erreur de packaging. C’est un peu comme garer une voiture de course en pleine rue avec les clés sur le contact. Dans cette vidéo, je reviens sur l’erreur elle-même, sur ce que le code révèle de l’architecture d’un agent de codage autonome, et sur le casse-tête juridique qui a suivi. Pour un public cyber, c’est surtout un cas d’école de sécurité de la chaîne de publication logicielle.
Le décryptage en vidéo
▶️ La vidéo ne s’affiche pas ? Regardez-la directement sur YouTube.
L’erreur : un fichier source map de trop
Claude Code, conçu pour assister les développeurs directement depuis leur terminal, reçoit une mise à jour sur le registre public npm. Cette mise à jour embarque un passager clandestin : un fichier source map de 59,8 Mo.
Les source maps sont des fichiers de débogage qui relient le code compressé distribué au code source original, lisible. L’environnement d’exécution utilisé les génère par défaut, et l’équipe a oublié de les exclure lors de la configuration de la publication. Résultat : environ 512 000 lignes de TypeScript réparties sur près de 1 900 fichiers, livrées en clair avec leurs annotations.
Une erreur de routine, très classique, mais aux conséquences maximales.
Ce que révèle le code
Une boucle d’agent de 88 lignes
La première surprise est la simplicité du moteur central. Pour un comportement aussi avancé, on pouvait s’attendre à une usine à gaz. La boucle d’exécution tient pourtant en 88 lignes, en quatre étapes :
- une saisie de l’utilisateur lance la machine ;
- le modèle prend une décision via l’API ;
- un outil s’exécute (lecture de fichier, commande bash…) ;
- le système produit une réponse finale ou relance une action.
Pas de gigantesque machine à états ni de workflow complexe.
« Les messages comme état »
Deuxième idée forte : au lieu de gérer des variables d’état complexes en mémoire, le système stocke tout dans une liste chronologique de messages. L’état complet de l’agent peut être reconstitué en relisant cet historique. Si un outil plante ou qu’une autorisation est refusée, l’erreur devient simplement un nouveau message : l’agent la lit, s’adapte et tente une autre approche. Une conception robuste face aux imprévus, et intéressante pour l’auditabilité.
Le compromis de latence
Troisième enseignement : l’équipe a assumé de sacrifier la précision absolue en temps réel au profit de la réactivité, jusque dans le nom de certaines fonctions qui affichent explicitement l’usage d’une valeur en cache. La logique, telle que résumée dans la vidéo : un agent réactif qui s’appuie sur des données vieilles de quelques secondes est bien plus utile qu’un agent parfaitement à jour mais lent.
undercover.ts : le fantôme dans la machine
C’est la partie qui a fait le plus de bruit. Parmi les 1 900 fichiers, un script d’environ 90 lignes, undercover.ts, injecte des instructions système cachées. La consigne citée dans la vidéo demande à l’agent, lorsqu’il opère dans un dépôt public ou open source, de ne laisser aucune information interne dans ses messages de validation et de « ne pas griller sa couverture ». Autrement dit, effacer la trace de l’origine IA des contributions poussées vers des projets publics.
Une feuille de route cachée
Le code laisse aussi entrevoir des fonctionnalités non annoncées :
- Kairos : un mode où l’agent travaille seul en tâche de fond ;
- un classificateur « YOLO » : un modèle entraîné pour valider automatiquement des demandes d’autorisation ;
- Ultraplan : un agent chef d’orchestre de sous-agents ;
- Dream : un processus nocturne, hors ligne, qui consolide la mémoire à partir d’observations fragmentées.
La trajectoire est claire : des agents qui travaillent sur la durée, de façon de plus en plus autonome.
Claw Code : le clone en salle blanche
L’écosystème open source a réagi immédiatement. Anthropic a envoyé des demandes DMCA sur GitHub, mais trop tard. En une nuit, un développeur a reconstruit l’architecture : Claw Code, environ 20 000 lignes de Rust et de Python compilées en binaire natif, contre 512 000 lignes de TypeScript pour l’original. Le projet a dépassé 100 000 étoiles sur GitHub en 24 heures.
Pour aller aussi vite et contourner le droit d’auteur, ce développeur s’est massivement appuyé sur une IA pour analyser la fuite et générer le nouveau code. Le principe de la « salle blanche », qui consiste à isoler un humain pour prouver qu’il n’a rien copié, perd beaucoup de son sens quand ce sont des algorithmes qui réécrivent des algorithmes.
Les leçons pour vos pipelines de publication
La vidéo conclut sur la propriété intellectuelle. Côté sécurité, j’en retiens surtout que la publication d’un paquet est une frontière de confiance, et qu’elle mérite les mêmes contrôles qu’un déploiement en production :
- vérifier le contenu exact de chaque paquet avant publication (liste des fichiers embarqués) ;
- exclure explicitement les artefacts de débogage, dont les source maps, et ne pas se fier aux valeurs par défaut des outils de build ;
- automatiser ce contrôle dans la CI, pour qu’il ne repose pas sur la vigilance d’une personne un jour de livraison.
À retenir
- Le 31 mars 2026, un fichier source map de 59,8 Mo publié sur npm expose environ 512 000 lignes de Claude Code (près de 1 900 fichiers).
- Le cœur de l’agent : une boucle de 88 lignes et un état entièrement porté par l’historique des messages.
- undercover.ts demande à l’agent de masquer l’origine IA des contributions open source.
- Fonctionnalités cachées : Kairos, classificateur YOLO, Ultraplan, Dream.
- Claw Code : clone de ~20 000 lignes Rust/Python, plus de 100 000 étoiles en 24 h, malgré les demandes DMCA.
Si l’architecture la plus secrète d’un éditeur d’IA peut être analysée et réécrite dans un autre langage en quelques heures, que signifie encore « logiciel propriétaire » ?
Sources
- Reddit r/ClaudeAI – Claude code source code has been leaked via a map file in their npm registry
- Klymentiev – Claw Code: Open-Source Claude Code Clone With 105K Stars in 24 Hours
- dev.to – Claude Code Architecture Explained: Agent Loop, Tool System, and Permission Model
- WaveSpeed – claw-code vs Claude Code: What’s Actually Different?
Vidéo générée avec NotebookLM à partir de sources sélectionnées par Pascal Froment.
Ces questions de propriété intellectuelle et de souveraineté du code, quand des IA réécrivent les logiciels en quelques heures, je les développe dans mon livre Où allons-nous ? (prospective jusqu’en 2040).
Ressources Wet & Sea Tech
- 📺 Abonnez-vous à la chaîne YouTube Wet & Sea Tech pour les prochains décryptages : youtube.com/@wetseatech
- 💼 Suivez-moi sur LinkedIn pour les analyses cyber-risque de la semaine : LinkedIn de Pascal Froment
- 🔐 À lire aussi : DevSecOps : ce que vous faites détruit votre sécurité