Claude Code cachait un mouchard qui visait la Chine

Claude Code cachait un mouchard qui visait la Chine

L’essentiel

  • Anthropic retire de Claude Code une fonction dissimulée, active depuis la version 2.1.91 du 2 avril 2026, qui cherchait à repérer les utilisateurs liés à la Chine.
  • Le test comparait le fuseau horaire de la machine à « Asia/Shanghai » ou « Asia/Urumqi » et scrutait l’URL du proxy à la recherche de domaines et de laboratoires d’IA chinois.
  • Le verdict repartait par stéganographie dans le system prompt : format de date modifié et apostrophe subtilement remplacée, invisibles pour l’utilisateur, lisibles par Anthropic.
  • Anthropic parle d’une expérimentation lancée en mars contre la revente non autorisée de comptes et la distillation de ses modèles.

Un assistant de programmation a-t-il besoin de savoir d’où vous vous connectez ? La question paraît saugrenue : vous lui demandez d’écrire du code, pas de deviner votre localisation. Pourtant, pendant près de trois mois, Claude Code, l’agent de développement d’Anthropic qui tourne dans votre terminal, a discrètement tenté d’établir si son utilisateur se connectait depuis la Chine. Et il transmettait la réponse sans que personne la voie passer.

Anthropic a confirmé retirer cette fonction après un tollé sur les réseaux sociaux. Pour comprendre pourquoi l’affaire dépasse le simple incident, il faut regarder le mécanisme de près.

Comment un agent de développement se met à faire de la géolocalisation

Le signalement vient d’un développeur, LegitMichel777, qui a disséqué le comportement de l’outil et publié ses trouvailles. Depuis la version 2.1.91, sortie le 2 avril 2026, Claude Code effectuait en silence une série de vérifications au démarrage.

Le principe est simple à décrire. Le programme compare le fuseau horaire déclaré par le système d’exploitation aux valeurs « Asia/Shanghai » et « Asia/Urumqi », les deux fuseaux utilisés en Chine. En parallèle, il inspecte l’URL du proxy éventuellement configuré, à la recherche de domaines chinois ou de noms de laboratoires d’IA du pays. Trois questions posées à votre place : votre horloge est-elle réglée sur la Chine, votre trafic passe-t-il par un relais chinois, et ce relais mène-t-il vers un laboratoire local ?

Rien de tout cela n’apparaissait dans les notes de version. Un agent censé lire et écrire vos fichiers s’était mis, à votre insu, à établir votre profil géographique.

Le message invisible glissé dans le prompt

Le plus ingénieux, c’est la façon dont le résultat remontait. Pas de requête réseau visible, pas de log explicite. Le verdict était encodé dans le system prompt lui-même, le bloc d’instructions envoyé au modèle à chaque échange, par une technique de stéganographie, l’art de cacher un message dans un support anodin.

Concrètement, selon la reconstitution du mécanisme, le logiciel modifiait légèrement le format de la date et remplaçait, dans la formule « Today’s date is », l’apostrophe par un caractère presque identique mais différent. À l’écran, l’utilisateur ne perçoit aucun changement. Côté serveur, Anthropic lisait ce détail instantanément et en déduisait le profil de la machine.

L’image la plus juste est celle d’un bibliothécaire qui, plutôt que de noter votre nom, cornerait imperceptiblement la page d’un livre selon un code que lui seul reconnaît. Le lecteur ne voit qu’une page. Le bibliothécaire, lui, sait exactement qui est passé. Pour verrouiller la discrétion, le code aurait même été brouillé par un chiffrement XOR avec la clé 91, de sorte qu’une simple lecture des fichiers du programme ne révélait rien.

Pourquoi Anthropic a intégré ce mouchard

La réponse est venue d’un membre de l’équipe Claude Code, Thariq Shihipar, qui a décrit sur X une « expérimentation lancée en mars, destinée à empêcher l’abus de comptes par des revendeurs non autorisés et à protéger contre la distillation ». Il ajoute que des protections plus solides ont été déployées depuis, que l’équipe comptait de toute façon retirer ce test, et que le correctif l’annulant complètement a été intégré.

Il faut ici deux clés de lecture. Anthropic ne propose pas ses modèles en Chine, pour des raisons de sécurité nationale ; de nombreux développeurs chinois y accèdent malgré tout via des numéros de téléphone et des cartes bancaires étrangers. Anthropic n’est d’ailleurs pas la seule à dresser cette frontière : Cursor a coupé dès l’été 2025 l’accès des développeurs basés en Chine aux modèles américains comme Claude et Gemini. La différence tient au procédé, un blocage assumé d’un côté, un marquage clandestin de l’autre. Et la distillation désigne le fait d’entraîner un modèle en le nourrissant des réponses d’un autre, plus performant. Anthropic a déjà reproché à DeepSeek, Moonshot AI, MiniMax et Alibaba d’avoir exploité les sorties de ses modèles pour entraîner les leurs. Le mouchard visait donc, sur le papier, à repérer des usages qui contournent ces règles.

Sur le fond, l’intention est défendable. Sur la forme, l’auteur du signalement parle d’une « violation fondamentale de la confiance des utilisateurs ». Il souligne aussi que la vérification est triviale à contourner pour un attaquant compétent, ce qui pose la question de son utilité réelle.

Quand un outil de travail se met à trier ses utilisateurs

C’est là que l’affaire dépasse Anthropic. Un agent de développement comme Claude Code dispose d’un accès complet au système de fichiers et au shell. On l’installe pour qu’il agisse sur notre machine. Découvrir qu’il collecte et exfiltre en douce des données sur le système et le proxy change la nature de l’objet : l’outil qu’on croyait au service du développeur peut aussi l’observer et le classer.

Le point vraiment préoccupant, c’est le canal utilisé. Le system prompt n’est pas qu’un contenant d’instructions : il peut servir de voie de télémétrie discrète, dans les deux sens. Ce qui a été fait ici pour trier par géographie pourrait l’être demain pour d’autres critères, avec la même invisibilité.

Reste une question que l’affaire pose sans la trancher : savez-vous vraiment ce que les agents installés dans votre terminal envoient à leurs éditeurs, et sauriez-vous le vérifier ? Le retrait de cette fonction referme un incident. Il n’annule pas l’habitude qu’il révèle.

Mon avis

Protéger ses modèles de la distillation, je le comprends parfaitement, c’est un enjeu industriel légitime. Coder un mouchard stéganographié qui transforme le terminal d’un développeur en balise invisible, non : c’est la ligne qui n’aurait pas dû être franchie. Cette expérimentation isolée m’inquiète moins que le précédent qu’elle installe : une télémétrie muette côté client, glissée dans le prompt là où personne ne va la chercher. Mon seul conseil concret : traitez désormais un agent qui a accès à votre machine comme un logiciel à auditer, pas comme un collègue de confiance.

Sources

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *