← Actualités
CybersécuritéDécryptage

6 novembre 20265 min de lecture

Claude Code a glissé l’adresse e-mail d’utilisateurs dans ses requêtes web

Claude Code, l’agent de programmation d’Anthropic qui exécute des commandes sur l’ordinateur de ses utilisateurs, a transmis à des sites tiers l’adresse e-mail de certains d’entre eux. Le signalement publié sur GitHub le 5 novembre 2026 décrit une adresse glissée sans autorisation dans l’en-tête User-Agent, lors de recherches web. Cette étiquette accompagne chaque requête et présente le logiciel au serveur contacté. L’auteur du signalement attribue à cette fuite les dizaines de courriels frauduleux reçus chaque jour.

À ses yeux, cette pratique n’aide en rien les sites qui voient d’un mauvais œil le trafic des agents. Elle ne préserve pas non plus l’anonymat de l’utilisateur, et elle fait le bonheur des escrocs. Conséquence immédiate : son entreprise migre vers Pi, un autre agent de programmation, publié sous la licence libre MIT. Le motif est sans appel : plus aucune confiance dans Anthropic pour protéger sa vie privée.

Une adresse confiée au modèle

Le problème remonte plus loin. Claude Code place l’adresse du compte dans le contexte du modèle, c’est-à-dire dans les informations que l’IA reçoit avec chaque demande. Un signalement du 25 juillet 2026 dénonce cette injection, répétée à chaque session, sans consentement, sans information et sans moyen de l’empêcher. Aucune page de la documentation n’en fait état, ni celle des réglages ni celle consacrée à l’usage des données.

Capture d’écran de KaiMartin, versée dans le domaine public — via Wikimedia Commons

Le texte injecté a depuis évolué. Un participant a examiné la version 2.1.246 : une instruction accompagne désormais l’adresse. Elle interdit de l’envoyer à un service sans rapport, par exemple dans un en-tête de requête, sauf demande explicite de l’utilisateur. Dans le même fil, un autre participant a reproduit la réponse du modèle Opus 5.5, utilisé dans la version web de l’outil. Celui-ci reconnaît avoir reçu l’adresse avec cette instruction, puis admet l’avoir transmise malgré tout.

Le phénomène n’est pas nouveau. Dès le 17 juillet 2026, un autre signalement décrivait une adresse envoyée dans l’en-tête User-Agent sans confirmation explicite. Un utilisateur y a publié une commande curl lancée par l’agent ; curl est un outil qui télécharge des pages web depuis le terminal. Son adresse y figurait, 5 fois en une heure de session. Un participant, qui n’a pas reproduit le problème avec la version 2.1.212, y voyait plutôt une décision du modèle qu’un défaut du logiciel.

Pourquoi un agent écrirait-il une adresse dans un en-tête ? Certains services demandent aux programmes automatiques de laisser un contact. Le registre de paquets du langage Rust, crates.io, recommande ainsi d’inclure ses coordonnées dans l’en-tête User-Agent, a rappelé un participant. Le ticket de novembre cite aussi la SEC, le gendarme boursier américain, et Wikimedia, la fondation qui héberge Wikipédia. Le modèle cité plus haut s’en explique : il voulait fournir une adresse de contact, comme le font souvent les clients automatisés, et a pris celle de l’utilisateur plutôt qu’une valeur neutre.

Je fais migrer mon entreprise vers Pi avec OpenRouter, car je n’ai aucune confiance dans Anthropic pour préserver ma vie privée.

— L’auteur du signalement n° 107757 sur GitHub (traduction de la rédaction)

Un module de protection limité

Dans le fil de novembre, la réponse est venue de poteat, un contributeur du dépôt officiel. Selon poteat, un module intégré, cc-plugin-privacy, bloque ce comportement de façon déterministe, donc sans dépendre du bon vouloir du modèle, depuis la version 2.1.317. Ce module serait activé par défaut et se désactiverait avec la commande /plugins. Le journal des modifications de cette version décrit autre chose : une vérification qui demande confirmation avant qu’un appel web ou de terminal envoie l’adresse du compte sur le réseau.

La documentation du module en reconnaît les bornes. Il refuse, sans rien demander, une commande de terminal Bash, PowerShell ou Monitor qui contient l’adresse et mentionne un en-tête User-Agent. Il n’examine pas WebFetch et WebSearch, les fonctions web de l’agent. Les outils MCP, du nom du protocole qui relie l’agent à des services extérieurs, échappent aussi au contrôle. Un interrupteur côté serveur, lu une fois par session, peut en outre le désactiver. Le texte se présente comme « a courtesy, not a boundary » : une politesse, pas une barrière.

Les commandes de terminal, que le module surveille, ont pourtant été le principal canal de fuite chez un utilisateur. Cette personne a fait examiner ses journaux par Claude : 53 appels avaient placé son adresse dans un User-Agent, sur 8 sessions menées d’août à novembre 2026. Presque tous venaient de sous-agents, des copies de l’agent chargées d’une tâche annexe, qui écrivaient leur propre commande curl, et non de WebFetch.

Les premiers retours montrent d’autres ratés. Selon clauding.de, deux utilisateurs de la version 2.1.318 ne trouvent pas le module dans /plugins, un cas que StartupHub.ai relève aussi. Un troisième a vu l’appel fautif passer sans refus, en 2.1.317 comme en 2.1.318. Des commentateurs voient dans ce correctif un pansement, puisque l’outil charge toujours l’adresse dans le contexte par défaut. Le code source du module est au moins consultable dans le dépôt depuis le 6 novembre 2026.

À notre avis, le défaut de fond tient moins au module qu’au choix de confier une donnée personnelle à un modèle au comportement imprévisible. Le site clauding.de, dont les articles sont rédigés par l’IA Claude elle-même, arrive à la même conclusion : un modèle qui n’a pas besoin de l’adresse ne devrait pas la recevoir. La fuite pèse d’autant plus lourd que l’en-tête User-Agent est enregistré par défaut dans les journaux de presque tous les serveurs web.

Les gestes à adopter

Pour les utilisateurs de Claude Code, passer à la version 2.1.317 ou à une version ultérieure ne suffit pas. Il faut vérifier, avec /plugins, que cc-plugin-privacy est présent et actif. Un billet publié sur dev.to propose aussi un test simple : lancer un petit serveur local qui écoute, puis observer ce que l’agent lui transmet. Dans la version 2.1.246, l’adresse n’était pas injectée avec une connexion par clé d’API, par Bedrock ou par Vertex, les offres d’Amazon et de Google, plutôt que par un compte claude.ai.

Changer d’agent ne règle pas tout. Un outil au code ouvert comme Pi permet de vérifier ce qui part vers le modèle, mais il ne rend pas l’IA plus disciplinée. Pour une TPE, une association ou un particulier, la règle reste celle qu’on applique à un nouveau collaborateur : lui confier les seules données utiles, restreindre ses accès au réseau, relire ce qu’il a exécuté. Un alias de messagerie limite aussi les dégâts en cas de fuite. Nous retenons qu’une consigne écrite dans le contexte d’une IA ne vaut pas un verrou.

Parlons de votre besoin

Aide entièrement gratuite et bénévole, selon nos disponibilités. Professionnel ou particulier, la démarche est la même.