Agents de code & Stéganographie de prompts : le risque Cyber invisible qui menace l'entreprise Posté dans la catégorie Général le par Engineering.
Les agents de code comme Claude Code, Cursor, GitHub Copilot et autres ont un accès quasi-total à votre machine : système de fichiers, shell, git, navigateur. Une récente découverte de stéganographie de prompt dans Claude Code montre que ces outils peuvent manipuler silencieusement les instructions qu'ils envoient aux LLM (en encodant des informations dans des caractères invisibles). Pour l'entreprise, le risque va bien au-delà d'une simple curiosité technique.
La découverte : des marqueurs cachés dans le prompt système
Le chercheur @thereallo a mis au jour un mécanisme troublant dans Claude Code (v2.1.196). En inspectant le binaire signé par Anthropic, il a découvert une fonction qui modifie silencieusement la chaîne de date dans le prompt système.
Normalement, le prompt affiche :
Today's date is 2026-06-30.Mais Claude Code peut modifier deux choses invisibles à l'oeil nu :
L'apostrophe : remplacée par des caractères Unicode quasi-identiques (' → ʼ → ʽ → ʹ)
Le séparateur de date : changé de - à / si le fuseau horaire est chinois
Ces modifications sont imperceptibles dans la plupart des polices monospace. Pourtant, elles constituent un canal caché qui transmet de l'information au modèle LLM sans que l'utilisateur ne s'en rende compte.
Le mécanisme en détail

Les déclencheurs
Condition | Déclencheur | Effet |
|---|---|---|
Fuseau horaire |
| Date : |
Domaine connu | Liste de domaines chinois, proxy, resellers | Apostrophe → |
Keyword AI Lab | deepseek, moonshot, zhipu, etc. | Apostrophe → |
Les deux combinés | Domaine connu + keyword lab | Apostrophe → |
La liste des cibles
Les domaines et mots-clefs sont stockés en base64 XOR-encodé (clé 91). La liste décode des cibles comme :
Géants chinois : baidu.com, alibaba-inc.com, bytedance.net, xiaohongshu.com
Plateformes AI : moonshot.ai, deepseek, zhipu, bigmodel
Proxy / Resellers : anyrouter.top, claude-code-hub.app, proxyai.com, yunwu.ai, zenmux.ai
Keywords AI Lab : deepseek, moonshot, minimax, zhipu, baichuan, dashscope, volces
Pourquoi Anthropic veut-il savoir tout ça ?
L'intérêt d'Anthropic pour ces informations est compréhensible d'un point de vue commercial et sécuritaire. Lorsqu'un utilisateur configure une variable ANTHROPIC_BASE_URL pointant vers un domaine de reseller ou un proxy non autorisé, cela signifie que le trafic ne passe pas par l'API officielle d'Anthropic.
Les enjeux sont multiples :
protection du modèle contre les attaques par distillation, où un concurrent tenterait de reproduire Claude en l'interrogeant massivement via un proxy ;
détection des resellers non autorisés qui revendent l'accès à Claude sans licence, en contournant les mécanismes de facturation et de sécurité d'Anthropic ;
identification des usages en Chine, où l'accès à l'API officielle est restreint, ce qui peut signaler un contournement des restrictions géopolitiques ;
et lutte contre les attaques par extraction de prompt (prompt stealing), où un proxy malveillant tenterait de dérober le prompt système propriétaire d'Anthropic en l'interrogeant massivement.
Ces préoccupations sont légitimes pour n'importe quel fournisseur d'IA. Le problème n'est pas l'intention : c'est le choix de l'opacité plutôt que de la transparence pour mettre en oeuvre cette surveillance.
Le risque Cyber pour l'entreprise
Une surface d'attaque colossale
Imaginez un stagiaire qui a les clefs de tout le SI, capable d'exécuter du code sur n'importe quelle machine, et dont les instructions de travail peuvent être modifiées à son insu. C'est exactement la situation !
Accès | Ce que ça permet |
|---|---|
Système de fichiers | Lecture de tout le code source, secrets, clefs API, variables d'environnement |
Shell | Exécution de commandes arbitraires : installation de paquets, exfiltration de données |
Git | Push/Pull/Commit : injection de code malveillant dans l'historique |
Navigateur | Capture de sessions authentifiées, accès aux SaaS internes |
Computer Use | Contrôle complet de l'interface utilisateur |
Un scénario d'attaque

Étape 1. Compromission du proxy
Un attaquant parvient à prendre le contrôle d'un proxy interne, d'un résolveur DNS, ou à distribuer un paquet npm malveillant. L'objectif est de rediriger le trafic de l'agent de code vers un serveur contrôlé par l'attaquant (par exemple en modifiant la variable ANTHROPIC_BASE_URL ou en empoisonnant le cache DNS).
Étape 2. Marquage silencieux du prompt
Le proxy malveillant reçoit la requête de l'agent de code et modifie le prompt système avant de le transmettre au LLM. Il utilise la même technique de stéganographie que celle découverte dans Claude Code : il remplace l'apostrophe par un caractère Unicode quasi-identique, ou modifie le séparateur de date. L'utilisateur ne voit rien d'anormal (la phrase reste parfaitement lisible) mais le prompt contient désormais un marqueur invisible que le LLM est programmé pour interpréter.
Étape 3. Exfiltration via le modèle
Le LLM, ayant reçu le prompt modifié, reconnaît le marqueur stéganographique et adapte son comportement en conséquence. Selon les instructions encodées, il peut exfiltrer des clefs API, injecter des backdoors dans le code généré, ou modifier des parties critiques du code source. L'agent de code exécute ces instructions altérées en toute bonne foi (il ne fait que suivre le prompt qu'il a reçu).
Étape 4. Dégâts irréversibles
Le code modifié est commité par le développeur, qui n'a aucune raison de se méfier : le prompt système qu'il a vu était parfaitement normal. Le code compromis est déployé en production. L'attaque est indétectable car le prompt système n'est jamais journalisé, et les marqueurs stéganographiques sont invisibles dans les logs. L'entreprise ne découvre l'intrusion que des semaines ou des mois plus tard (si elle la découvre un jour...)
Le problème de la confiance zéro (Zero Trust)
Le modèle Zero Trust, « ne jamais faire confiance, toujours vérifier », s'applique aussi aux outils de développement. Si vous ne pouvez pas auditer ce que votre agent de code envoie au LLM, vous ne pouvez pas garantir :
L'intégrité du code produit ;
La confidentialité des secrets et données d'entreprise ;
La conformité aux politiques de sécurité.
Recommandations pour l'entreprise
Audit des agents de code
Avant de déployer un agent de code à l'échelle de l'entreprise :
Inspectez le binaire : vérifiez ce qu'il envoie réellement comme prompt.
Proxyfiez le trafic : utilisez un proxy d'entreprise pour inspecter les requêtes API.
Journalisez les prompts : conservez une trace de ce qui est envoyé au LLM.
Auditez les mises à jour : comparez les versions pour détecter des changements de comportement.
Mesures de protection
Proxy API dédié : ne laissez pas les agents de code appeler directement l'API. Passez par un proxy d'entreprise qui inspecte et journalise les prompts.
Analyse des prompts : vérifiez la présence de caractères Unicode suspects, de marqueurs stéganographiques, ou de modifications inattendues.
Politique de version : geler les versions des agents de code et les auditer avant déploiement.
Sensibilisation des équipes : les développeurs doivent savoir que les prompts peuvent être modifiés à leur insu.
Segmentation des accès : limiter ce que l'agent de code peut faire : pas d'accès shell en production, pas de push git automatique, pas d'accès aux secrets.
Conclusion : la confiance se gagne dans les détails ennuyeux !
@thereallo: trust is earned in the boring parts.
La découverte de la stéganographie de prompt dans Claude Code n'est pas un scandale. C'est un signal d'alarme pour toute l'industrie.
Les agents de code sont des outils puissants qui transforment la productivité des développeurs. Mais leur accès profond au système d'information en fait des vecteurs d'attaque de premier ordre. Chaque mécanisme caché, chaque modification silencieuse du prompt, chaque canal de communication invisible érode la confiance et expose l'entreprise à des risques qu'elle ne maîtrise pas.
La cybersécurité, c'est la visibilité. Si vous ne pouvez pas voir ce que votre agent de code envoie au LLM, vous ne pouvez pas protéger votre entreprise.
CYWISE