Si vous utilisez Claude Code ou Claude Desktop, la stéganographie de prompt révélée en juin 2026 et l'injection silencieuse de navigateur d'avril sont deux incidents distincts : le premier réécrit les apostrophes Unicode dans Today's date lorsque vous passez par un proxy ; le second pré-écrit des manifestes Native Messaging sur macOS. Selon les rapports de reverse engineering, Anthropic a retiré le code en 2.1.197 ; l'objectif probable était l'anti-distillation, mais la méthode était dissimulée et non divulguée. Cet article couvre la matrice incidents A/B, table Unicode, débat HN, checklist en six étapes et FAQ. Tarifs des nœuds sur la page tarifs.
[ SECTION_01 ] // TL;DR Qu'est-ce que la stéganographie Claude Code ? Réponse en 30 secondes
En bref : le 30 juin 2026, selon le rapport thereallo.dev, Claude Code (outil CLI de codage, pas l'application web) réécrivait la ligne Today's date is... du prompt système lorsque ANTHROPIC_BASE_URL pointait ailleurs que api.anthropic.com. En alternant le séparateur de date (- vs /) et en remplaçant l'apostrophe par des variantes Unicode visuellement identiques (U+0027 / U+2019 / U+02BC / U+02B9), il encodait fuseau horaire chinois et correspondances domaines ou mots-clés de labs IA. C'est un canal dissimulé classique. Anthropic a livré 2.1.197 le 1er juillet 2026 sans mention au changelog.
- Deux histoires souvent confondues : injection navigateur Desktop (Hanff, avril) et stéganographie Code (RE juin) — produits, déclencheurs et mécanismes différents ; les mélanger nuit à l'E-E-A-T.
- Pas tout le monde concerné : l'incident B n'activait qu'avec un Base URL non officiel ; les utilisateurs de l'endpoint officiel n'ont rien vu.
- Intention vs méthode : consensus communautaire sur la défense anti-distillation/revente — intention défendable, dissimulation inacceptable pour un outil développeur.
- HN divisé : thread en une page d'accueil en heures, 350+ points — « défense anti-distillation raisonnable » vs « comportement proche du malware pour un outil dev ».
- Ton prudent : « selon les rapports », « le RE a trouvé » — l'intention éditeur n'est pas présentée comme un fait établi.
[ SECTION_02 ] // TIMELINE Injection Claude Desktop vs stéganographie Claude Code : comparaison
| Dimension | Incident A : injection navigateur silencieuse | Incident B : stéganographie de prompt |
|---|---|---|
| Produit | Claude Desktop (client macOS) | Claude Code (outil CLI de codage) |
| Source | Alexander Hanff (consultant privacy, contributeur The Register) | RE développeur sur thereallo.dev, amplifié Reddit → HN |
| Date | Avril 2026 (~18 avril onward) | 30 juin 2026 |
| Comportement | Écrit silencieusement com.anthropic.claude_browser_extension.json dans Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium, pré-autorisant 3 IDs d'extension pour chrome-native-host hors sandbox ; crée des dossiers même sans navigateur ; fichier régénéré après suppression |
Si ANTHROPIC_BASE_URL ≠ api.anthropic.com, réécrit Today's date is... par stéganographie |
| Labels | spyware / backdoor | stéganographie de prompt / canal dissimulé |
| Déclencheur | Installation/démarrage Claude Desktop | Base URL non officiel uniquement ; pas chaque conversation |
| Réponse Anthropic | Pas de réponse publique formelle ; toggle de consentement ajouté plus tard ; modèle de permissions non entièrement retiré | Code admis ; retiré en 2.1.197 (1er juil.) ; changelog silencieux |
Pour l'incident A, Noah Kenney (Digital 520) a confirmé la reproductibilité des allégations de Hanff ; Antiy Labs a publié une analyse de risque dédiée. Pour l'incident B, le RE confirme les versions 2.1.193 / 2.1.195 / 2.1.196.
[ SECTION_03 ] // TECH Comment fonctionne le fingerprint Unicode de Claude Code ?
Prérequis : ANTHROPIC_BASE_URL pointe ailleurs que api.anthropic.com (proxy, gateway, revendeur, couche compatible OpenAI). Endpoint officiel : aucune altération.
Lors du déclenchement, deux signaux se cachent dans la ligne anodine Today's date is ... :
- Séparateur de date : si fuseau
Asia/ShanghaiouAsia/Urumqi,2026-06-30devient2026/06/30. - Apostrophe substituée : l'apostrophe de
Today'sdevient un caractère Unicode look-alike encodant la correspondance.
| Condition détectée | Format date | Apostrophe | Unicode |
|---|---|---|---|
| Défaut (aucune correspondance) | 2026-06-30 |
' apostrophe ASCII |
U+0027 |
| Domaine org/revendeur lié Chine | 2026-06-30 |
' guillemet simple droit |
U+2019 |
| Mot-clé lab IA (deepseek, moonshot, zhipu, minimax, baichuan, stepfun, 01ai…) | 2026-06-30 |
ʼ apostrophe modifier letter |
U+02BC |
| Domaine et lab | 2026-06-30 |
ʹ prime modifier letter |
U+02B9 |
| + fuseau Chine | 2026/06/30 |
(règles apostrophe ci-dessus) | — |
Selon le RE, listes domaines/mots-clés en base64 + XOR (clé 91) — environ 147 motifs de domaine. Pour un humain le prompt semble ordinaire ; pour le backend Anthropic, un code point d'apostrophe révèle VPN, fuseau Chine, éventuel lab IA chinois.
echo "$ANTHROPIC_BASE_URL"
claude --version
[ SECTION_04 ] // WHY Pourquoi Anthropic a fait cela ? Anti-distillation vs ligne de confiance
Consensus mesuré : presque certainement anti-distillation et anti-revente non autorisée. Anthropic, OpenAI et Google s'inquiètent publiquement que des concurrents récoltent les sorties API pour entraîner des modèles plus petits. Revendeurs, proxys et labs liés à la Chine étaient les principaux suspects.
L'intention peut se défendre ; la méthode non. Transformer une classification en ponctuation invisible, l'obfusquer dans le binaire et l'expédier dans chaque requête d'un outil développeur fondé sur la confiance franchit une limite.
Sur Hacker News le fil s'est scindé : « défense anti-distillation raisonnable » vs « comportement proche du malware pour un outil dev ». Lecture dominante : détecter revente non autorisée + distillation, pas surveillance personnelle — le débat porte sur les moyens (dissimulés, obfusqués, non divulgués).
[ SECTION_05 ] // SPYWARE Claude Code est-il vraiment un logiciel espion ? Une étiquette plus précise
« Spyware » est un terme chargé. Plus précisément :
- Incident A se rapproche d'une altération non autorisée de logiciels tiers + surface d'attaque pré-positionnée. Même inexploitée, elle pré-installe un canal haut privilège hors sandbox navigateur ; chiffres Anthropic pour Claude for Chrome : injection de prompt 23,6 % (non atténué) / 11,2 % (atténué).
- Incident B se rapproche d'une télémétrie non divulguée / classification utilisateur dissimulée — pas un malware d'exfiltration classique, mais un canal dissimulé non divulgué.
Quel que soit le label, le cœur du problème est identique : pas de consentement éclairé, délibérément caché.
[ SECTION_06 ] // PROTECT Vérifier et se protéger : playbook en six étapes
- Vérifier le Base URL : exécuter
echo $ANTHROPIC_BASE_URL; les proxys non officiels pouvaient déclencher l'incident B ; en production privilégierapi.anthropic.comou des gateways enterprise audités. - Mettre à jour Claude Code : version ≥ 2.1.197 (1er juillet 2026 — rapports publics indiquent retrait de la stéganographie).
- Scanner les manifestes Native Messaging (incident A) : sur macOS vérifier
~/Library/Application Support/<browser>/NativeMessagingHosts/com.anthropic.claude_browser_extension.jsonsur Chrome, Edge, Brave, Arc, Vivaldi, Opera. - Supprimer et observer la régénération : retirer le JSON, redémarrer Claude Desktop, noter s'il se recrée — preuve que le modèle de permissions a vraiment été corrigé.
- Auditer combo fuseau + proxy : VPN plus fuseau Chine (
Asia/Shanghai/Asia/Urumqi) sur ancien Claude Code + Base URL non officiel formait un vecteur fingerprint complet. - Enterprise / environnements sensibles : traiter les agents desktop comme logiciels haut privilège — moindre privilège, autorisation explicite, comportement auditable ; héberger sur serveurs isolés 24/7, pas sur laptops personnels — particulièrement pertinent pour les workflows créatifs sur Mac Apple Silicon.
[ SECTION_07 ] // TRUST Dépassement éditeur IA : comment répondre ?
La leçon n'est pas « une apostrophe ». Quand la capacité des modèles devance frontières de sécurité, consentement et auditabilité, les éditeurs franchissent la limite de confiance au nom de l'« UX » ou de la « prévention des abus ». Les erreurs de sécurité des premiers PC et smartphones se rejouent sur les agents IA desktop.
Faits techniques citables (juin–juillet 2026, rapports publics et RE) :
- Taille du ruleset : obfuscation base64 + XOR(91), ~147 motifs domaine/mot-clé.
- Versions affectées : Claude Code 2.1.193 / 2.1.195 / 2.1.196 contenaient la logique ; 2.1.197 l'a retirée.
- Traction HN : page d'accueil en heures, 350+ points, 100+ commentaires.
- Succès injection Claude for Chrome (Anthropic) : 23,6 % non atténué, 11,2 % atténué.
Ce que nous pouvons faire :
- Méfiance par défaut ; exiger des preuves. Reproductible, auditable, désactivable est la barre.
- Divulgation plutôt que dissimulation. Combattre la distillation ouvertement — documenter, livrer un toggle — pas l'enfouir dans la ponctuation.
- Moindre privilège + isolation pour chaque agent desktop.
- Voter avec ses pieds, appuyer par la régulation. Droit type RGPD et choix de marché sont le frein ultime.
La technologie peut sembler neutre ; une entreprise non. Plus le modèle est capable, plus l'éditeur doit se contraindre — et cela ne devrait pas être un secret découvert uniquement par reverse engineering d'un binaire.
[ SECTION_08 ] // FAQ FAQ stéganographie Claude Code et sources
Q : Claude Code est-il un logiciel espion ?
Pas au sens classique, mais le RE a trouvé un fingerprint non divulgué et obfusqué ; Anthropic l'a retiré en 2.1.197. Mieux : canal dissimulé non divulgué.
Q : Claude Code suit-il mon fuseau horaire ?
Selon le RE, il vérifiait Asia/Shanghai / Asia/Urumqi uniquement avec ANTHROPIC_BASE_URL non par défaut ; utilisateurs endpoint officiel non touchés.
Q : Quel est le truc apostrophe / Unicode ?
L'apostrophe de « Today's » alternait entre U+0027, U+2019, U+02BC et U+02B9 pour encoder domaines Chine, mots-clés lab IA, les deux ou ni l'un ni l'autre.
Q : Pourquoi Anthropic a ajouté cela ?
Très probablement anti-distillation et revente non autorisée — objectif légitime, mise en œuvre et divulgation illégitimes.
Q : Même affaire que Claude Desktop spyware ?
Non — avril Desktop Native Messaging est incident A ; juin Code stéganographie est incident B.
Q : Utilisateurs web Claude concernés ?
Incident B uniquement Claude Code avec ANTHROPIC_BASE_URL non officiel.
Q : Comment retirer l'injection navigateur Claude Desktop ?
Supprimer com.anthropic.claude_browser_extension.json sous ~/Library/Application Support/<browser>/NativeMessagingHosts/ ; Claude Desktop peut le recréer.
Q : Pourquoi séparer incidents A et B ?
Les confondre produit des erreurs factuelles que HN, Reddit et les lecteurs sécurité repèrent immédiatement — nuit à l'E-E-A-T et à la crédibilité SEO.
Références principales — revérifier les liens après mises à jour upstream :
thereallo.dev : Claude Code prompt steganography (rapport RE original)
The Register : Claude Desktop changes software permissions without consent (avr. 2026)
Hacker News : discussion stéganographie Claude Code
Faire tourner de longues sessions Claude Code, chaînes MCP et routage multi-modèles sur un MacBook en veille laisse jobs interrompus, expiration OAuth et régénération Native Messaging grignoter votre travail d'audit. Les vérifications locales manquent d'un hôte 24/7 prévisible ; migrer vers des Mac cloud isolés exige Apple Silicon stable et SSH.
Si vous avez besoin d'hébergement agent 24/7, SSH stable et capacité Apple Silicon prévisible, déplacer jobs planifiés Claude Code, configs MCP et fallbacks multi-éditeurs vers des serveurs bare-metal dédiés vaut mieux que lutter sur un laptop instable : NOVAKVM propose Mac Mini M4 / M4 Pro multi-régions, durées flexibles, bande passante fixe, SSH par défaut — idéal pour CI/CD iOS et automatisation agents IA sur une machine. Voir la page tarifs, la page commande et le centre d'aide.