Stéganographie Claude Code
Comment Anthropic vous étiquette avec une apostrophe (2026)

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.

01

Claude Code est-il un logiciel espion ? Deux événements distincts

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 :

  • A

    É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.

  • B

    É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.

warning

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).

02

Mécanisme : table Unicode & 147 règles obfusquées

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 ... :

  1. 1

    Séparateur de date : si fuseau Asia/Shanghai ou Asia/Urumqi, 2026-06-30 devient 2026/06/30.

  2. 2

    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 dateApostropheUnicode
Défaut (aucune correspondance)2026-06-30' apostrophe ASCIIU+0027
Domaine institution/revendeur chinois2026-06-30' guillemet apostrophe droitU+2019
Mots-clés labo IA chinois (deepseek/moonshot/zhipu/minimax/baichuan/stepfun/01ai, etc.)2026-06-30ʼ apostrophe modificatifU+02BC
Domaine + labo simultanément2026-06-30ʹ lettre modificativeU+02B9
+ fuseau Chine2026/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. »

Événement A vs B : tableau comparatif

DimensionA : injection navigateur silencieuseB : stéganographie prompt système
ProduitClaude Desktop (macOS)Claude Code (CLI)
SourceAlexander Hanff / The Registerthereallo.dev → Reddit → HN
Date2026-04 (vers le 18/04)2026-06-30
DéclencheurInstallation/démarrage Claude DesktopUniquement ANTHROPIC_BASE_URL non officiel
Qualificationspyware / backdoorprompt steganography / covert channel
AnthropicPas de réponse officielle ; opt-in ultérieurCode confirmé ; retiré en 2.1.197 (changelog muet)
03

Motif anti-distillation & débat sur le spyware

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 :

  • Événement A : « modification non autorisée de logiciels tiers + surface d'attaque dormante » — combiné aux données Anthropic sur Claude for Chrome : injection de prompt sans mitigation 23,6 %, avec mitigation 11,2 %. Risque réel via le canal Native Messaging hautement privilégié.
  • Événement B : « télémétrie dissimulée non divulguée / classification utilisateur ».

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).

04

Runbook en six étapes : vérification et protection

  1. 01

    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.

  2. 02

    Mettre à jour Claude Code : minimum 2.1.197 (1er juillet 2026, code retiré).

  3. 03

    Auditer le fuseau horaire : Asia/Shanghai / Asia/Urumqi modifie en plus le séparateur de date.

  4. 04

    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.

  5. 05

    Moindre privilège en entreprise : évaluer l'agent desktop en production ; autorisation explicite et piste d'audit obligatoires.

  6. 06

    Exiger la transparence : l'anti-distillation peut être déclaré ouvertement — pas dissimulé dans la ponctuation.

bash
# 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
05

Données factuelles & dépassement des limites éditeur

  • Métriques HN : rapport thereallo.dev via Reddit → HN, première page en heures, 350+ points, 100+ commentaires.
  • Couverture versions : 2.1.193 / 2.1.195 / 2.1.196 avec stéganographie ; 2.1.197 (01/07/2026) retire le code.
  • Volume de règles : base64 + XOR(91), environ 147 règles domaines/mots-clés.
  • Injection prompt Claude for Chrome : données Anthropic : sans mitigation 23,6 %, avec mitigation 11,2 % — à croiser avec le canal Native Messaging hautement privilégié de l'événement A.

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.

info

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).

FAQ

Questions fréquentes

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.