Fuite de Source Map Claude Code : L'agent OS caché, l'automatisation Chrome et les failles de vie privée

Fuite de Source Map Claude Code : L'agent OS caché, l'automatisation Chrome et les failles de vie privée

lschvn5 min de lecture

Le 30 mars 2026, les développeurs installant le package npm @anthropic-ai/claude-code@v2.1.88 ont remarqué quelque chose d'inhabituel : le bundle publié incluait cli.js.map, un fichier source map de production qui map le JavaScript minifié vers son code TypeScript original. En quelques heures, la découverte s'est répandue dans les communautés de développeurs, plusieurs développeurs confirmant indépendamment que la source map fournissait une vue quasi complète de l'architecture interne de Claude Code.

Le problème a été formellement signalé via GitHub issue #41329, titré "BUG Il semble que le code source de Claude Code ait fuité, avec cli.js.map uploadé sur npm", et fermé comme complété le même jour. Des développeurs sur Twitter, dont @iamsupersocks, @Fried_rai et @chelaslua, ont partagé des captures d'écran et des analyses de leurs découvertes.

Ce qui a fui

La source map (cli.js.map) est un artefact de build JavaScript standard qui permet aux outils de débogage de mapper le code minifié vers les fichiers sources originaux. Lorsqu'elle est incluse dans un package npm de production, elle expose effectively l'intégralité de l'arborescence source TypeScript à toute personne téléchargeant le package. Dans ce cas, la source map contenait des références à 4 756 fichiers sources, dont environ 25 fichiers spécifiques à Claude que les développeurs disent révéler des décisions architecturales qu'Anthropic n'avait pas documentées publiquement.

Ce qu'ils ont découvert

L'Agent OS : Un système d'orchestration multi-agents que personne ne connaissait

La découverte la plus frappante était un système complet d'orchestration d'agents. La source map révèle des types d'agents avec des noms qui n'ont jamais apparu dans aucune documentation publique :

  • AgentTool, ExploreAgent, PlanAgent, VerificationAgent, GeneralPurposeAgent, StatuslineSetupAgent

Le système utilise TeamCreateTool et TeamDeleteTool, suggérant que Claude Code peut créer et détruire des équipes d'agents. Les agents communiquent via un système de boîte de réception basée sur des fichiers dans .claude/teams/{team_name}/inboxes/{agent_name}.json. L'isolation d'exécution est maintenue via AsyncLocalStorage.

Les permissions d'outils sont appliquées via une méthode checkPermissions avec trois modes : allow (exécution immédiate), ask (pause avec dialogue de confirmation) et deny (rejeté). Le mode bypassPermissions ignore toutes les vérifications, une capacité significative qui fonctionne avec le flag --dangerously-skip-permissions.

L'intégration Chrome cachée : le serveur MCP claude-in-chrome

Les développeurs ont trouvé un serveur MCP complet pour l'automatisation du navigateur Chrome :

  • Une extension Chrome avec l'ID fcoeoabgfenejglbffodgkkbkcdhcgfn
  • Des outils incluant javascript_tool, read_page, find, form_input, computer et navigate
  • Une capacité d'enregistrement GIF exposée via mcp__claude-in-chrome__gif_creator
  • Lecture des logs console via mcp__claude-in-chrome__read_console_messages

Ce serveur MCP permet apparemment à Claude Code de contrôler un navigateur Chrome directement depuis le CLI, une capacité qui n'a pas été annoncée ni documentée par Anthropic.

L'écart de vie privée : ce que Claude Code envoie réellement

La source map révèle un système de confidentialité à trois niveaux :

ModeTélémétrieDatadogÉvénements internesFeedback
defaultTout activé
no-telemetryAnalytiques désactivées
essential-trafficTrafic non essentiel bloqué,,,

L'intégration analytique envoie des données à Datadog et enregistre des événements internes. Les feature flags sont gérés via GrowthBook. La source map contient 506 fichiers liés à l'analytique et à la télémétrie. Les métadonnées collectées incluent la plateforme, le runtime et la présence GitHub Actions.

La hiérarchie CLAUDE.md : Quatre niveaux de précédence

Claude Code résout les fichiers CLAUDE.md dans un ordre spécifique avec priorité inversée :

  1. /etc/claude-code/CLAUDE.md, Global système pour tous les utilisateurs
  2. ~/.claude/CLAUDE.md, Privé utilisateur-global
  3. CLAUDE.md, .claude/CLAUDE.md, .claude/rules/*.md, Niveau projet
  4. CLAUDE.local.md, Privé projet-spécifique (priorité la plus haute)

La commande cachée "good-claude"

Dans src/commands/good-claude/index.js, les développeurs ont trouvé une commande stub complètement cachée :

export default { isEnabled: () => false, isHidden: true, name: "stub" };

La commande existe, est masquée, est désactivée et n'a aucune implémentation réelle.

Analytics partout

Avec 506 fichiers liés à la télémétrie, l'étendue de la collecte de données dans Claude Code est substantielle. Le codebase utilise Datadog pour le rapport d'erreurs, l'enregistrement d'événements internes, logEvent et logForDebugging de manière omniprésente, et la collecte de métadonnées d'environnement (plateforme, runtime, présence GitHub Actions).

Ce que cela signifie

La fuite représente un échec de configuration de build, les source maps ne devraient jamais être publiées dans les packages npm de production. Plus substantiellement, la source map révèle un écart substantiel entre ce que Claude Code prétend être et ce qu'il est réellement. Le système d'orchestration multi-agents non documenté, l'automatisation Chrome cachée et la télémétrie omniprésente suggèrent un produit avec des capacités et une collecte de données auxquelles les utilisateurs n'ont pas consenti.

Le silence d'Anthropic

À la publication, Anthropic n'a pas émis de déclaration publique sur l'exposition de la source map. L'issue GitHub a été fermée comme complétée, suggérant que la société est au courant de la fuite, mais aucun changelog, avis de sécurité ou communication client n'a été publié.

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Bug Claude Code #74066 : Des Utilisateurs Signalent une Fuite de Contexte Entre Workspaces sur Sonnet 5, Anthropic N'a Pas Encore Répondu
security

Bug Claude Code #74066 : Des Utilisateurs Signalent une Fuite de Contexte Entre Workspaces sur Sonnet 5, Anthropic N'a Pas Encore Répondu

Un bug ouvert déposé contre Claude Code le 2026-07-04 par un utilisateur [Enterprise ZDR](https://docs.anthropic.com/en/docs/build-with-claude/zero-data-retention) décrit une session de travail sur Sonnet 5 qui commence soudainement à faire référence à une construction de temple Minecraft non liée, puis persiste dans la mauvaise tâche dans son récapitulatif. Le rapporteur (GitHub : [@milesrichardson-edb](https://github.com/milesrichardson-edb), issue [anthropics/claude-code#74066](https://github.com/anthropics/claude-code/issues/74066)) est sur Enterprise Zero Data Retention, le niveau qu'Anthropic présente spécifiquement comme isolé par session. Le triage sur le JSONL de session locale du rapporteur à `~/.claude/projects/<encoded-cwd>/<session-id>.jsonl` montre que le texte fuité n'est pas dans la transcription, ce qui exclut une fuite de contexte locale par chevauchement de fichier. Quatre autres utilisateurs dans les commentaires (avec des historiques de travail remontant à l'an dernier) décrivent un comportement quasi identique sur Claude Code, Claude Mobile et Claude deep research. Le fit architectural le plus plausible est un état de cache KV partagé dans l'inférence ([selon @yv3nne dans les commentaires](https://github.com/anthropics/claude-code/issues/74066#issuecomment-4880448776)), mais aucun ingénieur d'Anthropic n'a commenté l'issue dans les 22 heures depuis son dépôt, et l'issue a atteint le sommet de [Hacker News](https://news.ycombinator.com/item?id=42481789) le 2026-07-04. Le ton dans le fil est partagé : la moitié suspectant une vraie réutilisation de cache plateforme, l'autre moitié suspectant une [hallucination spécifique à Sonnet 5 déclenchée par un lexer Pygments](https://github.com/anthropics/claude-code/issues/74066#issuecomment-4880334711). Les deux lectures sont crédibles.
Anthropic accuse Alibaba d'une distillation « éhontée » de Claude à l'échelle industrielle : 28,8 millions d'échanges, ~25 000 comptes frauduleux, du 22 avril au 5 juin
security

Anthropic accuse Alibaba d'une distillation « éhontée » de Claude à l'échelle industrielle : 28,8 millions d'échanges, ~25 000 comptes frauduleux, du 22 avril au 5 juin

Anthropic a publié un billet de blog le 2026-06-24 (https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks) accusant Alibaba d'avoir mené une campagne de distillation à l'échelle industrielle contre Claude. Anthropic affirme que la campagne s'est déroulée du 22 avril au 5 juin 2026 et a produit plus de 28,8 millions d'échanges avec Claude via près de 25 000 comptes frauduleux. L'accusation est la deuxième divulgation publique de distillation par Anthropic : la première, le 2026-02-23, nommait DeepSeek, Moonshot AI et MiniMax comme auteurs de 16 millions d'échanges à travers 24 000 comptes frauduleux. Reuters (Krystal Hu, Eduardo Baptista) et Bloomberg (Saritha Rai) ont rapporté la nouvelle allégation le 2026-06-24 ; le WSJ a publié Anthropic Claims Alibaba Ran 'Brazen' Campaign to Access Its Claude AI Model le même jour. Alibaba n'a pas encore publié de communiqué au moment de la rédaction.
OpenAI Codex 0.141 ajoute des exécuteurs distants chiffrés en Noise, un `PathUri` multi-OS, un marketplace de plugins et un pin SQLite WAL-Reset
security

OpenAI Codex 0.141 ajoute des exécuteurs distants chiffrés en Noise, un `PathUri` multi-OS, un marketplace de plugins et un pin SQLite WAL-Reset

Codex 0.141.0 (18 juin 2026) fait de Noise IK le transport par défaut entre l'orchestrateur et l'exec-server, livre une couche PathUri / NativePathString qui fait le round-trip des chemins POSIX, Windows-drive et UNC sans exposer l'encodage URI côté API, ouvre un marketplace de plugins `created-by-me-remote`, relève le timeout d'outil MCP à 300 secondes, et épingle la SQLite bundlée à 3.51.3 pour conserver le fix de corruption WAL-reset après un refresh de dépendances.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.