J'ai donné les clés à Claude Code. Un ver en a fait de même.
Les agents de codage IA ne subissent pas de jailbreak. Ils font exactement ce pour quoi vous les avez conçus. Ils utilisent vos identifiants pour exécuter des commandes. Le problème est que les attaquants peuvent fournir les données d'entrée.
Des vulnérabilités récentes montrent trois manières différentes dont cela se produit.
- Le ver de la chaîne d'approvisionnement (Supply Chain Worm)
Un ver nommé Mini Shai-Hulud a touché plus de 170 packages. Il ne se contente pas de voler des clés et de partir. Il s'écrit lui-même dans vos fichiers de configuration. Il se cache dans
.vscode/tasks.jsonou.claude/settings.json. Ces fichiers exécutent du code automatiquement lorsque vous ouvrez un dossier ou lancez une session. Même si vous supprimez le package malveillant, le crochet (hook) malveillant reste sur votre disque.
- Le ver de la chaîne d'approvisionnement (Supply Chain Worm)
Un ver nommé Mini Shai-Hulud a touché plus de 170 packages. Il ne se contente pas de voler des clés et de partir. Il s'écrit lui-même dans vos fichiers de configuration. Il se cache dans
- Le contournement de la liste d'autorisation (Allowlist Bypass)
L'éditeur Cursor utilise une liste d'autorisation (allowlist) pour sécuriser l'exécution automatique. Des attaquants ont trouvé un moyen de la contourner en utilisant des commandes intégrées au shell comme
export. En utilisant l'injection de prompt, un attaquant force l'agent à définir une variable d'environnement empoisonnée. Cela fait qu'une commande approuvée se comporte d'une manière que vous n'aviez jamais prévue. Le contrôle de sécurité a échoué car il a été conçu pour des humains, pas pour des machines.
- Le contournement de la liste d'autorisation (Allowlist Bypass)
L'éditeur Cursor utilise une liste d'autorisation (allowlist) pour sécuriser l'exécution automatique. Des attaquants ont trouvé un moyen de la contourner en utilisant des commandes intégrées au shell comme
- La faille de protocole
Le proxy
mcp-remoteprésente une faille critique d'injection de commande. Si vous vous connectez à un serveur MCP malveillant, celui-ci peut exécuter des commandes sur votre machine lors du handshake. Cela se produit parce que le client fait confiance au serveur qu'il contacte.
- La faille de protocole
Le proxy
Le problème de fond est simple. Un agent de codage efface la frontière entre les données et les commandes. Un LLM considère les instructions et les données externes comme une seule et même chose. Il n'y a aucune limite entre ce que vous dites et ce que le monde dit à l'agent.
Comment vous protéger :
- Utilisez des jetons (tokens) à courte durée de vie au lieu de clés à longue durée de vie dans vos variables d'environnement.
- Désactivez l'exécution automatique pour toute tâche touchant à des secrets ou à la production.
- Surveillez vos fichiers de configuration comme
.claude/settings.jsonpour détecter tout changement inattendu. - Traitez les attestations de provenance comme une preuve d'origine, et non comme une preuve de sécurité.
- Verrouillez vos dépendances (pin) sur des hashs spécifiques.
Traitez votre agent IA comme n'importe quel autre processus à hauts privilèges. Il nécessite des limites strictes.
Si vous exécutez des agents en mode auto-run, comment décidez-vous quand le laisser travailler et quand l'arrêter ?
Source: https://dev.to/kkierii/i-gave-claude-code-the-keys-so-did-a-worm-34a4
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi