Sécurité IA & confidentialité 3 juillet 2026 env. 22 min Claude Code Stéganographie

Affaire Claude Code stéganographie
Comment Anthropic vous étiquette avec une apostrophe

Injection navigateur silencieuse vs empreinte Unicode dans le prompt · événements A/B · anti-distillation · checklist de protection

Schéma : apostrophe Unicode comme empreinte dissimulée dans les prompts système Claude Code

En bref : fin juin 2026, selon le rapport de reverse engineering de thereallo.dev, Claude Code (pas la version web) modifiait par stéganographie textuelle la ligne Today's date is... du prompt système lorsque ANTHROPIC_BASE_URL pointait vers une adresse non officielle — en changeant le séparateur de date et une apostrophe Unicode quasi invisible pour transmettre au serveur des signaux de fuseau chinois, domaines ou labos IA. Anthropic a retiré le code en 2.1.197. L’objectif serait l’anti-distillation et la lutte contre la revente non autorisée ; la controverse porte sur l’implémentation dissimulée. En avril 2026, un autre événement : Claude Desktop écrivait silencieusement des manifestes Native Messaging dans les navigateurs. Les deux affaires sont souvent confondues ; cet article les distingue strictement. Contenu : tableau A/B, mapping Unicode, débat HN, cinq étapes de protection, confiance envers les éditeurs, FAQ. Voir aussi analyse IPO Anthropic et comparatif assistants de codage IA.

01

Deux événements à ne pas confondre : A et B

De nombreux republications fusionnent deux incidents indépendants mais liés. Les lecteurs techniques (HN, Reddit, sécurité) repèrent immédiatement les erreurs. Avant publication, distinguez :

DimensionÉvénement A : injection navigateur silencieuseÉvénement B : stéganographie du prompt système
ProduitClaude Desktop (client macOS)Claude Code (outil CLI de codage)
SourceAlexander Hanff (The Register)Reverse engineering publié sur thereallo.dev, Reddit → HN
DateAvril 2026 (vers le 18/04)30 juin 2026
ComportementÉcriture silencieuse de com.anthropic.claude_browser_extension.json, pré-autorisation de 3 ID d’extension pour chrome-native-host hors sandbox ; création de répertoires même sans navigateur ; fichier recréé après suppression et redémarrageSi ANTHROPIC_BASE_URL ≠ api.anthropic.com, modification stéganographique de Today's date is...
Étiquettespyware / backdoorprompt steganography / covert channel
DéclencheurInstallation/démarrage de Claude DesktopUniquement Base URL non officielle ; pas à chaque conversation
Réponse AnthropicPas de réponse publique officielle ; interrupteur d’autorisation ajouté plus tard, modèle de droits non suppriméCode admis, retrait en 2.1.197 le 01/07, changelog sans mention

Faits vérifiables : le consultant indépendant Noah Kenney (Digital 520) a confirmé la reproductibilité des affirmations techniques de Hanff. Antiy Labs a publié une analyse des risques du canal navigateur à haut privilège de Claude Desktop. Le fil HN a atteint la page d’accueil en quelques heures avec 350+ points et 100+ commentaires, divisés entre « défense anti-distillation raisonnable » et « quasi malveillant pour un outil développeur ».

Pourquoi les développeurs se sentent trahis

  1. 01

    Non divulgué + obfuscation volontaire : listes de domaines/mots-clés en base64 + XOR(91), environ 147 règles, présentes en 2.1.193/195/196.

  2. 02

    Ligne rouge de confiance des outils dev : Claude Code vit de la confiance des développeurs. Cacher des signaux de classification dans la ponctuation a valu à une faction HN le qualificatif « malware-adjacent ».

  3. 03

    Desktop prépare un canal à haut privilège : même sans exploitation immédiate, un passage hors sandbox navigateur est préparé. Anthropic cite pour Claude for Chrome des taux d’injection de prompt de 23,6 % sans atténuation, 11,2 % avec.

  4. 04

    Risque conformité et E-E-A-T : présenter l’intention comme fait établi nuit à la crédibilité. Utiliser « selon le rapport/alleged » ; séparer objectif (anti-distillation) et moyen (stéganographie).

02

Fonctionnement : tableau de mapping Unicode

Prérequis : uniquement si ANTHROPIC_BASE_URL pointe vers une adresse non officielle (proxy, passerelle, revendeur tiers, couche compatible OpenAI). Le point officiel api.anthropic.com reste intact.

Après déclenchement, le programme modifie deux éléments dans la ligne anodine Today's date is ... :

Situation détectéeFormat de dateCaractère apostropheUnicode
Par défaut (aucune correspondance)2026-06-30' apostrophe ASCII standardU+0027
Domaine institution/revendeur chinois2026-06-30' apostrophe typographique droiteU+2019
Mots-clés labo IA (deepseek, moonshot, zhipu, minimax, baichuan, stepfun, 01ai, etc.)2026-06-30ʼ apostrophe modificativeU+02BC
Domaine + labo tous deux2026-06-30ʹ prime modificativeU+02B9
Fuseau chinois en plus (Asia/Shanghai / Asia/Urumqi)2026/06/30(règles d’apostrophe identiques)

En clair : la requête ressemble à un prompt anglais ordinaire, mais le backend lit le séparateur de date et l’Unicode de l’apostrophe pour étiqueter : « utilisateur avec VPN étranger mais fuseau chinois, possiblement un labo IA chinois ». Canal dissimulé (covert channel) typique.

Vérifier la variable d’environnement (déclencheur événement B)
echo $ANTHROPIC_BASE_URL
# Si défini et différent de https://api.anthropic.com → logique d'empreinte possible
claude --version  # vérifier ≥ 2.1.197
03

Pourquoi Anthropic a fait cela ? Motivation et controverse

Le consensus modéré de la communauté : objectif anti-distillation et anti-revente non autorisée. Anthropic, OpenAI et Google s’inquiètent publiquement que des concurrents exploitent massivement les sorties API pour entraîner de petits modèles. Proxys, revendeurs et labos liés à la Chine sont les principaux suspects.

« L’objectif se comprend, la méthode pose problème » — rendre la classification invisible et cacher du code obfusqué dans chaque requête franchit la ligne rouge pour un outil fondé sur la confiance des développeurs.

Camp HN / communautéPositionLeçon pratique
DéfenseursDéfense anti-distillation légitime, protection de l’investissement modèleComprendre le motif commercial, rejeter l’implémentation dissimulée
CritiquesQuasi malveillant pour un outil dev ; divulgation et interrupteur requisExiger transparence, auditabilité, désactivation
SécuritéÉvénement A prépare une sortie de sandbox ; risque réel d’injection de promptTraiter l’agent Desktop comme programme à haut privilège
04

Est-ce un logiciel espion ?

« Spyware » est une étiquette chargée d’émotion. Plus précisément :

  • Événement A ressemble à « altération non autorisée de logiciels tiers + surface d’attaque dormante » — même sans exploitation, un canal haut privilège hors sandbox navigateur est préparé.
  • Événement B ressemble à « télémétrie dissimulée non divulguée / classification utilisateur ».

Qu’on dise spyware ou non, la question centrale est la même : sans consentement éclairé, et délibérément dissimulé.

05

Auto-vérification et protection : cinq étapes

  1. 01

    Vérifier la Base URL : ANTHROPIC_BASE_URL est-elle définie ? Point officiel → événement B non déclenché. Mettre Claude Code à jour vers 2.1.197+.

  2. 02

    Native Messaging (événement A) : sous macOS, inspecter ~/Library/Application Support/<navigateur>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json et supprimer si besoin. Claude Desktop peut recréer le fichier.

  3. 03

    Fuseau + proxy : VPN + fuseau chinois + passerelle API tierce touchaient plus souvent les règles d’empreinte selon le rapport. Documenter le routage en production.

  4. 04

    Entreprise / environnements sensibles : évaluer la poursuite des agents Desktop en production. Privilèges minimaux, autorisation explicite, auditabilité. Voir approbation VNC et isolation OpenClaw.

  5. 05

    Validation isolée : exécuter Claude Code sur un Mac distant loué + VNC, vérifier graphiquement Confidentialité et sécurité, répertoires Native Messaging et dialogues trousseau ; changer de nœud ou résilier en fin de projet.

macOS : lister les manifestes Native Messaging par navigateur
for app in "Google/Chrome" "Microsoft Edge" "BraveSoftware/Brave-Browser" "Arc/User Data"; do
  f="$HOME/Library/Application Support/$app/NativeMessagingHosts/com.anthropic.claude_browser_extension.json"
  [ -f "$f" ] && echo "FOUND: $f"
done
06

Quand les éditeurs IA franchissent les limites

L’alerte ne porte pas sur une apostrophe, mais sur le décalage : capacités des modèles en explosion, frontières de sécurité, autorisations et audits en retard, et éditeurs qui franchissent les limites de confiance au nom de l’expérience ou de la lutte contre les abus. Les failles des PC et smartphones se rejouent sur les agents IA de bureau.

  1. 01

    Méfiance par défaut, preuves d’abord : reproductible, auditable, désactivable — alors seulement la confiance.

  2. 02

    Exiger la divulgation : l’anti-distillation peut être transparent — explication publique et interrupteur, pas de ponctuation cachée.

  3. 03

    Privilèges minimaux + isolation : tout agent Desktop comme logiciel à haut privilège.

  4. 04

    Vote par les pieds + cadre légal : RGPD, lois sur la protection des données et choix du marché limitent la « technique sans frontières ».

La technique peut être neutre, pas l’entreprise. Plus de pouvoir exige plus d’autocontrainte — pas un secret que l’utilisateur découvre en inversant un binaire.

Sources

The Register (Claude Desktop, 2026-04) ; Malwarebytes / gHacks / YOOTA ; thereallo.dev (reverse engineering original) ; Tech Startups / TMC Insight / Developers Digest / TechTimes (correctif 2.1.197) ; analyse Antiy Labs.

FAQ

Questions fréquentes

Pas au sens classique, mais selon le reverse engineering il intégrait des empreintes non divulguées et obfusquées. Anthropic les a retirées en 2.1.197. Formulation plus précise : canal dissimulé non divulgué.

L’événement B ne concerne que Claude Code avec ANTHROPIC_BASE_URL non officielle. Les utilisateurs du point officiel ne sont pas touchés.

Selon le rapport, uniquement avec Base URL non par défaut : Asia/Shanghai / Asia/Urumqi et encodage via le séparateur de date. Le point officiel ne modifie pas la ligne de date.

L’apostrophe dans Today's alterne entre U+0027, U+2019, U+02BC et U+02B9 pour encoder domaines chinois, mots-clés labo IA ou les deux.

Interprétation dominante : détecter la distillation de modèles et la revente non autorisée d’API. Objectif légitime, mise en œuvre dissimulée problématique.

Non. Avril : Hanff — Native Messaging Desktop (événement A). Juin : thereallo.dev — stéganographie Code (événement B).

Dans ~/Library/Application Support/<navigateur>/NativeMessagingHosts/, supprimez com.anthropic.claude_browser_extension.json. Redémarrer Claude Desktop peut le recréer ; désactiver Desktop ou ajuster la version.

Pour du code sensible ou des audits système : Mac distant indépendant + VNC, vérification graphique de Native Messaging et autorisations TCC, résiliation en fin de projet — moins de risque pour la machine principale.

Conclusion

La polémique Claude stéganographie montre qu’avec des agents IA capables de modifier navigateurs et prompts système, les risques sur la machine de développement principale (résidus de droits, canaux non auditables, télémétrie obfusquée) sont sous-estimés. Claude Code sur Windows/Linux est possible, mais Native Messaging de Claude Desktop et les dialogues macOS exigent une vraie session graphique macOS pour une validation complète.

Louez un Mac distant VNCMac, installez Claude Code sur un nœud isolé, vérifiez par VNC manifestes navigateur et réglages confidentialité, résiliez en fin de projet — plus maîtrisable qu’un agent à haut privilège sur votre poste principal. Offres Mac mini M4 et aide SSH-VNC pour démarrer.