Synthèse : fin juin 2026, thereallo.dev révèle par reverse engineering que Claude Code (hors interface web) applique une stéganographie textuelle dans la ligne système Today's date is... lorsque ANTHROPIC_BASE_URL pointe vers un proxy non officiel — séparateur de date et apostrophes Unicode quasi identiques encodent fuseau horaire et correspondances domaines/labos IA chinois vers le serveur. Anthropic a retiré le code en 2.1.197. Objectif probable : anti-distillation / anti-revente, mais la méthode soulève de vives critiques. Ce guide professionnel distingue l'événement A (injection navigateur Claude Desktop) de l'événement B (stéganographie Claude Code), fournit la table Unicode, les données HN (350+ points), les benchmarks d'injection 23,6 %/11,2 %, un runbook en six étapes et huit FAQ.
La controverse repose sur deux événements indépendants mais liés. Les lecteurs HN et sécurité repèrent immédiatement toute confusion — impact direct sur la crédibilité. À distinguer rigoureusement :
Événement A (avril 2026, Alexander Hanff) : après installation de Claude Desktop (macOS), selon The Register, l'application écrit sans consentement des configurations Native Messaging com.anthropic.claude_browser_extension.json dans Chrome, Edge, Brave, Arc, Vivaldi, Opera — trois ID d'extension accèdent à chrome-native-host hors sandbox navigateur, avec privilèges utilisateur complets. Les répertoires sont créés même sans navigateur installé ; suppression manuelle annulée au redémarrage de Claude Desktop. Noah Kenney (Digital 520) a confirmé la reproductibilité ; Antiy Labs a publié une analyse de risque. La communauté sécurité parle d'alleged spyware / backdoor.
Événement B (30 juin 2026, thereallo.dev) : reverse engineering de Claude Code révèle une stéganographie de prompt système — sujet principal de cet article. Reddit → Hacker News : fil de discussion en première page en quelques heures, 350+ points, 100+ commentaires.
Distinction clé : A concerne Claude Desktop, déclenché à l'installation/démarrage. B concerne Claude Code CLI, uniquement si ANTHROPIC_BASE_URL ≠ api.anthropic.com (proxy/passerelle/revente). Anthropic a confirmé le code B et l'a retiré le 1er juillet en 2.1.197 (changelog silencieux). Pour A : pas de réponse officielle ; opt-in ajouté ultérieurement, modèle de permissions sous-jacent inchangé selon les rapports.
Formulation conforme : employer systématiquement « selon le rapport / alleged / reverse engineering » — ne pas présenter l'intention éditeur comme un fait établi. Évaluer séparément l'objectif (anti-distillation) et le moyen (stéganographie).
Prérequis : ANTHROPIC_BASE_URL pointe vers un point de terminaison non officiel (proxy, passerelle, revente tierce, couche compatible OpenAI). Point officiel api.anthropic.com : aucune manipulation.
Une fois déclenché, deux actions dans la ligne anodine Today's date is ... :
Séparateur de date : si fuseau Asia/Shanghai ou Asia/Urumqi, 2026-06-30 devient 2026/06/30.
Substitution d'apostrophe : l'apostrophe de Today's est remplacée par des caractères Unicode visuellement identiques — encodage du statut de correspondance.
| Cas détecté | Format date | Apostrophe | Unicode |
|---|---|---|---|
| Défaut (aucune correspondance) | 2026-06-30 | ' apostrophe ASCII | U+0027 |
| Domaine institution/revendeur chinois | 2026-06-30 | ' guillemet apostrophe droit | U+2019 |
| Mots-clés labo IA chinois (deepseek/moonshot/zhipu/minimax/baichuan/stepfun/01ai, etc.) | 2026-06-30 | ʼ apostrophe modificatif | U+02BC |
| Domaine + labo simultanément | 2026-06-30 | ʹ lettre modificative | U+02B9 |
| + fuseau Chine | 2026/06/30 | (règles apostrophe ci-dessus) | — |
Listes de domaines et mots-clés : obfuscation base64 + XOR(91), environ 147 règles. Vérification sur 2.1.193 / 2.1.195 / 2.1.196 — logique présente dans les trois versions.
« La requête ressemble à un prompt anglais ordinaire — mais le backend lit le séparateur de date et l'Unicode de l'apostrophe pour vous étiqueter en coulisse. Canal dissimulé classique. »
| Dimension | A : injection navigateur silencieuse | B : stéganographie prompt système |
|---|---|---|
| Produit | Claude Desktop (macOS) | Claude Code (CLI) |
| Source | Alexander Hanff / The Register | thereallo.dev → Reddit → HN |
| Date | 2026-04 (vers le 18/04) | 2026-06-30 |
| Déclencheur | Installation/démarrage Claude Desktop | Uniquement ANTHROPIC_BASE_URL non officiel |
| Qualification | spyware / backdoor | prompt steganography / covert channel |
| Anthropic | Pas de réponse officielle ; opt-in ultérieur | Code confirmé ; retiré en 2.1.197 (changelog muet) |
Consensus communautaire (formulé avec retenue) : objectif = anti-distillation + anti-revente. Anthropic, OpenAI et Google alertent publiquement sur la distillation de modèles via API. Proxies, revendeurs et labos liés à la Chine étaient suspectés — d'où la logique de marquage.
Objectif compréhensible, moyens problématiques : rendre le signal de classification invisible, obfusquer le code, l'intégrer à chaque requête — pour un outil reposant sur la confiance développeur, cela franchit une ligne rouge. Sur HN : « défense anti-distillation légitime » face à « comportement quasi-malveillant pour un outil dev ».
« Spyware » est un label émotionnel. Formulation plus précise :
Au-delà du terme spyware, le problème central est identique : absence de consentement éclairé et dissimulation délibérée. Interprétation dominante : Anthropic visait la détection de revente/distillation, non la surveillance personnelle — le débat porte sur les moyens (dissimulés, obfusqués, non divulgués).
Vérifier ANTHROPIC_BASE_URL : l'événement B ne se déclenche qu'avec un proxy. Non défini ou point officiel = stéganographie inactive.
Mettre à jour Claude Code : minimum 2.1.197 (1er juillet 2026, code retiré).
Auditer le fuseau horaire : Asia/Shanghai / Asia/Urumqi modifie en plus le séparateur de date.
Native Messaging Claude Desktop (A) : macOS : rechercher com.anthropic.claude_browser_extension.json dans ~/Library/Application Support/<navigateur>/NativeMessagingHosts/ ; redémarrage Desktop peut recréer le fichier.
Moindre privilège en entreprise : évaluer l'agent desktop en production ; autorisation explicite et piste d'audit obligatoires.
Exiger la transparence : l'anti-distillation peut être déclaré ouvertement — pas dissimulé dans la ponctuation.
# Vérifier une Base URL non officielle echo "$ANTHROPIC_BASE_URL" # macOS : Native Messaging Claude Desktop find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension.json" 2>/dev/null # Version Claude Code (2.1.197+ requis) claude --version
L'alerte ne réside pas dans une apostrophe, mais dans le décalage entre capacités des modèles et frontières de sécurité, autorisation et audit — les éditeurs franchissent unilatéralement des limites de confiance au nom de l'« expérience » ou de la « lutte anti-abus ». Réponse : méfiance par défaut, preuves tangibles ; transparence plutôt que dissimulation ; moindre privilège et isolation ; pression éditeur et cadre réglementaire.
Exécuter Claude Code / OpenClaw sur un Mac local implique privilèges utilisateur complets et configuration persistante — un comportement éditeur non auditable augmente le risque par rapport à un environnement isolé. Agent CLI sur nœud Mac distant dédié, séparé du poste de production et du navigateur, avec déploiement auditable : choix plus robuste pour CI/CD iOS et automatisation d'agents IA. Pour une capacité Apple Silicon reproductible et isolée, la location Mac Mini cloud NodeMini fournit des nœuds dédiés avec accès root — séparer les charges agent à haut privilège du portable personnel. Voir tarifs de location Mac Mini et centre d'aide.
Sources : The Register (Claude Desktop, 04/2026) ; Malwarebytes / gHacks / YOOTA (Native Messaging) ; thereallo.dev (reverse engineering original) ; Tech Startups / TMC Insight / Developers Digest / TechTimes (2.1.197) ; Antiy Labs (analyse risque Desktop).
Pas au sens classique. Selon le reverse engineering, il cachait une empreinte obfusquée non divulguée pour marquer les utilisateurs proxy liés à la Chine ; retirée en 2.1.197. Plus précis : canal dissimulé non divulgué, pas un malware de vol de données.
Selon le rapport : Asia/Shanghai / Asia/Urumqi — mais uniquement avec ANTHROPIC_BASE_URL non officiel. Point de terminaison officiel : ligne de date inchangée.
L'apostrophe de Today's alterne entre U+0027, U+2019, U+02BC, U+02B9 — défaut, domaine chinois, mot-clé labo IA, les deux. Fuseau Chine : séparateur - → /.
Consensus : anti-distillation et anti-revente. Objectif légitime, mise en œuvre non divulguée (dissimulée, obfusquée) très controversée.
Non. Avril 2026 Hanff : Native Messaging Desktop. 30 juin 2026 thereallo.dev : stéganographie CLI — produits, mécanismes et déclencheurs distincts.
Événement B uniquement dans Claude Code avec ANTHROPIC_BASE_URL non officiel. Utilisateurs du point officiel non affectés.
Supprimer ~/Library/Application Support/<navigateur>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json. Redémarrage Desktop peut recréer. Entreprise : isolation Mac distant — centre d'aide.
Mettre à jour vers 2.1.197+, auditer Base URL, exécuter l'agent CLI sur nœud Mac distant isolé plutôt que sur le laptop de production. Capacité Apple Silicon dédiée : tarifs location Mac Mini.