Claude Code glisse l'e-mail de l'utilisateur dans les en-têtes

Claude Code glisse l'e-mail de l'utilisateur dans les en-têtes

Des développeurs ont découvert que Claude Code inscrit l'e-mail de connexion de l'utilisateur dans l'en-tête User-Agent de ses requêtes réseau, puis l'envoie aux sites tiers qu'il consulte. Le 5 novembre, l'utilisateur taylor-edwards a déposé un rapport de problème dans le dépôt GitHub de Claude Code : il affirme recevoir chaque jour une avalanche de courriels frauduleux à cause de cela, et indique que son entreprise va passer à l'association Pi plus OpenRouter.

L'auteur du rapport utilise la version 2.1.318 sous macOS. En une journée, le rapport a recueilli près de 90 commentaires et plus de 600 votes positifs.

Comment l'e-mail s'est échappé

D'après des employés d'Anthropic et les commentaires, tout part d'une modification d'apparence anodine : pour empêcher le modèle d'inventer des noms d'auteur dans des champs comme author des commentaires de code, Claude Code a placé dans le contexte du modèle l'e-mail du compte connecté.

Quand le modèle rédige lui-même une commande curl pour récupérer une page web, il traite cette adresse comme une adresse de contact et l'insère dans le User-Agent. Certains sites exigent en effet que les clients de type script laissent un e-mail de contact dans l'UA, Wikipédia en est un exemple ; le modèle a suivi cet usage, et l'adresse de l'utilisateur s'est retrouvée envoyée à tous les sites visités au passage.

Lydia Hallie, d'Anthropic, a répondu :

"We're removing the account email address from the context Claude Code gives the model."

(Nous retirons l'adresse e-mail du compte du contexte que Claude Code fournit au modèle.)

Elle a aussi écrit "this should not have happened, and we should've caught this behavior earlier." et indiqué que la correction arrivera dans la prochaine version, attendue en début de semaine prochaine. À l'heure de la publication, cette version n'est pas sortie et le rapport de problème reste ouvert.

La chronologie, point par point

L'affaire traîne depuis des mois. D'après les commentaires et la presse :

  • Juillet : une issue numérotée 81138 existait déjà sur GitHub, et des commentateurs estiment qu'elle décrit le même comportement ;
  • Version 2.1.317 : Claude Code intègre un plugin de confidentialité nommé cc-plugin-privacy, activé par défaut, qui demande confirmation à l'utilisateur avant un appel d'outil web ou l'exécution d'une commande curl contenant l'e-mail ;
  • 5 novembre : le nouveau rapport apparaît, avec déjà la 2.1.318, et l'e-mail est quand même envoyé ;
  • Ensuite : la position officielle est de retirer totalement l'e-mail du contexte.

Entre le premier rapport de juillet et la prise de position officielle de novembre, il s'est écoulé un peu plus de trois mois. Le correctif intermédiaire a consisté à ajouter une barrière en sortie, alors que le problème se situe à l'entrée : tant que l'e-mail reste dans le contexte, le modèle peut le faire sortir par d'autres moyens. La presse souligne que le plugin ne couvre pas le cas où Claude écrit lui-même un script puis l'exécute ; dans les commentaires, des utilisateurs disent aussi que le plugin n'apparaît même pas dans le menu /plugins, ou qu'il est indiqué comme chargé alors que les commandes contenant l'e-mail s'exécutent toujours. Ces retours ne peuvent pas être vérifiés pour l'instant, et l'éditeur ne s'est pas exprimé sur les situations précises où le plugin échoue.

Autre détail : le canal de diffusion. Selon les informations rapportées, le canal stable en était alors resté à la 2.1.311, sans même cette barrière de confirmation, et les utilisateurs de la version stable doivent mettre à jour manuellement pour obtenir le plugin.

Ce que l'on peut faire dès maintenant

La communauté propose deux palliatifs : utiliser un hook pre-tool-use pour intercepter les commandes contenant à la fois l'e-mail du compte et un paramètre User-Agent ; ou préciser dans CLAUDE.md que l'e-mail ne peut figurer que dans des requêtes vers des domaines désignés. Un développeur a déjà intégré la première méthode dans son dépôt de configuration.

Pour les utilisateurs en équipe, l'ampleur de l'impact dépend du compte de connexion. Ceux qui se connectent avec leur e-mail professionnel exposent leur adresse de travail, et les courriels d'hameçonnage arrivent directement dans la boîte de l'entreprise. Quels sites ont reçu ces UA et combien de temps leurs journaux de serveur sont conservés, cela relève des sites eux-mêmes ; Anthropic ne peut pas les récupérer pour le compte des utilisateurs.

Sources : rapport de problème GitHub de Claude Code, CocoLoop, AI Chat Daily, Trending Topics ; les numéros de version concernés et la description du plugin de confidentialité ont été vérifiés avec le rapport, et les propos des employés d'Anthropic s'en tiennent à leurs réponses publiques.