Avis de sécurité — version malveillante d’Anthropic.claude-code (2.1.313) identifiée dans la Marketplace d’extensions de Cursor
Nous avons identifié aujourd’hui un incident de sécurité touchant un paquet d’extension spécifique de la Marketplace d’extensions VS Code de Cursor : Anthropic.claude-code version 2.1.313. Cette version malveillante de l’extension n’a pas été développée par Anthropic. Au maximum 5 000 utilisateurs ont été affectés, et nous allons les contacter directement.
Ce qui s’est passé
Aujourd’hui, entre environ 2 h 27 et 13 h 35 (heure du Pacifique), une version malveillante de l’extension Claude Code d’Anthropic a été mise à disposition sur la Marketplace d’extensions VS Code de Cursor. Cette extension exécute du code malveillant qui tente d’installer une porte dérobée SSH persistante. Plus précisément, elle :
- Collecte des informations sur l’hôte et l’utilisateur : nom d’hôte, nom d’utilisateur, système d’exploitation, architecture, chemin du répertoire personnel, noms des variables d’environnement, répertoires de travail, e-mail Git configuré et adresse IP publique.
- Tente d’ajouter une clé SSH contrôlée par l’attaquant à
authorized_keys, d’activer le service SSH local et d’ouvrir un tunnel SSH inverse. En raison d’erreurs dans le code malveillant, cette étape échouait, sauf dans le cas très inhabituel où Cursor avait été démarré avec des privilèges administrateur. - Tente de rendre le tunnel SSH inverse persistant via un LaunchAgent (macOS) ou une tâche planifiée qui tente de s’exécuter en tant que SYSTEM, avec un script de démarrage en mode de secours (Windows). Des scripts en arrière-plan relancent le tunnel environ toutes les 60 secondes.
- Transmet les détails de l’hôte et l’état de la porte dérobée via une requête HTTP POST vers
/beaconsur le port 8099.
Remarque : le serveur de l’attaquant ne fonctionne plus.
- Nous avons collaboré avec le fournisseur cloud qui l’hébergeait pour le mettre hors ligne : le reverse shell et l’envoi des détails de l’hôte par POST ne fonctionnent donc plus.
- Ces résultats concernent uniquement le paquet identifié. Rien n’indique que d’autres versions de l’extension ou la distribution officielle soient affectées.
- Par ailleurs, l’activation du service SSH local nécessite des droits administrateur, dont l’extension malveillante ne dispose pas sur la plupart des hôtes macOS et Windows. Sur ces hôtes, l’étape échoue et l’attaquant n’a pas pu se connecter via le tunnel. L’extension ajoute néanmoins la clé SSH de l’attaquant, installe un mécanisme de persistance et envoie les détails de l’hôte à l’attaquant. Suivez donc dans tous les cas les étapes de remédiation ci-dessous.
Ce que nous avons fait
- Nous avons supprimé la version malveillante de la place de marché dès sa détection et bloqué toute nouvelle distribution. Par mesure de précaution supplémentaire, nous avons ensuite entièrement fermé la place de marché VSCode.
- Nous avons effectué un audit des accès et confirmé qu'aucune autre extension n'avait été compromise.
- Nous avons fait pivoter nos clés, reconstruit la place de marché, puis l'avons remise en ligne
- Nous avons travaillé avec l'hébergeur pour mettre hors ligne le serveur malveillant, ce qui a neutralisé l'attaque en bloquant toute connexion à ce serveur.
Ce que vous devez faire
Si vous avez installé Anthropic.claude-code 2.1.313, ou effectué une mise à jour vers cette version, depuis la Marketplace d’extensions VS Code de Cursor entre 2 h 27 PT et 13 h 35 PT le 29 octobre 2026 :
- Exécutez la vérification ci-dessous pour déterminer si vous êtes concerné.
- Recherchez les indicateurs ci-dessous dans la télémétrie des points de terminaison, du réseau et des installations d’extensions.
- Isolez les hôtes présentant des signes d’exécution de la charge utile ou d’installation d’une porte dérobée.
- Supprimez la clé SSH non autorisée, les mécanismes de persistance et les processus de tunnel actifs à l’aide des scripts de remédiation ci-dessous, puis déterminez s’il faut reconstruire l’hôte. Désinstaller l’extension peut ne pas suffire : la charge utile dépose des scripts de persistance autonomes qui continuent de s’exécuter.
- Depuis un système de confiance, faites pivoter les informations d’authentification et les sessions accessibles depuis les hôtes concernés. Le caractère limité de la collecte de variables d’environnement n’exclut pas un accès ultérieur aux informations d’authentification via la porte dérobée.
Vérifiez si vous êtes concerné
L'extension malveillante ajoute la clé publique de l'attaquant, nommée svc-telemetry, à vos clés SSH autorisées (authorized keys). Pour vérifier sa présence :
Sur macOS, exécutez :
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"Sous Windows, exécutez la commande suivante dans PowerShell :
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }Si la clé est présente, votre machine est concernée. Suivez les étapes 3 à 5 ci-dessus, puis exécutez le script de remédiation correspondant à votre plateforme ci-dessous.
Remédier aux machines compromises
Ces scripts suppriment l'extension malveillante, les mécanismes de persistance, les processus de tunnel en cours d'exécution ainsi que la clé SSH de l'attaquant. Ils se terminent avec un code de sortie non-zero si un élément subsiste.
Sur macOS, téléchargez remediate-macos.sh et exécutez-le en tant qu'utilisateur concerné, et non en tant que root, depuis le dossier dans lequel vous l'avez enregistré :
bash remediate-macos.shSous Windows, téléchargez remediate-windows.ps1, puis exécutez-le depuis une fenêtre PowerShell lancée avec Exécuter en tant qu'administrateur, dans le dossier où vous l'avez enregistré :
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1Indicateurs de compromission
Paquet
- SHA-256 du VSIX modifié (darwin-arm64) : 432ccdee3801f99e52b8fe31f69ea9870118e96ea7ef9ecabed1479621b5ab62 (MD5 da5469c4221775e9fe2e413e59ca7fd9)
- SHA-256 du VSIX modifié (win32-x64) : 3de1722901165769893bef57c72594e9a54459faa23f3091b136b79966edd081 (MD5 bd3b71ddf3d0cc3af76249afd2c0eda1)
- Code modifié : le fichier extension.js du dossier de l'extension anthropic.claude-code-2.1.313-darwin-arm64 (macOS) ou anthropic.claude-code-2.1.313-win32-x64 (Windows) contient 134[.]209[.]82[.]225 et svc-telemetry
Réseau
- Point de terminaison de l'attaquant : 134[.]209[.]82[.]225
- SSH inverse : tunnel@134[.]209[.]82[.]225, TCP 22
- Beacon externe : hxxp://134[.]209[.]82[.]225:8099/beacon (HTTP POST)
- Tentative de beacon local : 127[.]0[.]0[.]1:8099/beacon (HTTP POST, boucle locale)
- Requêtes de résolution d'IP publique vers ifconfig[.]me / api[.]ipify[.]org — services légitimes ; un simple accès à ces services ne constitue pas un indicateur de compromission
SSH
- Clé publique non autorisée :
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDdvylCEJ/k2TpezcTfedrkHyFSK9IZ3vmP6vhY4Ss0P svc-telemetry - Empreinte de la clé non autorisée :
SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk - Empreinte de la clé du tunnel inverse :
SHA256:KOAU57+ZG6u3MG4WwzPzPX2O5YEe9qdOC1Bl+6MVyDQ - Commentaire de la clé :
svc-telemetry
Fichiers et persistance
- macOS : clé non autorisée dans
~/.ssh/authorized_keys;~/.config/.smt,~/.config/.smtk;$TMPDIR/.stk_<10 hex>;~/Library/LaunchAgents/com.apple.sysmond.plist(labelcom.apple.sysmond) - Windows :
%USERPROFILE%\.ssh\authorized_keys,%USERPROFILE%\.config\smt.cmd,%USERPROFILE%\.config\smtk,%TEMP%\.stk_<10 hex>; tâche planifiéeSysMon(tente de s'exécuter en tant que SYSTEM) ; en mode de secours :%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
Processus / ligne de commande
ssh -N -R '*:0:localhost:22',autossh -M 0- Options SSH :
StrictHostKeyChecking=no,UserKnownHostsFile=/dev/null,ServerAliveInterval=30,ServerAliveCountMax=3,ExitOnForwardFailure=yes,IdentitiesOnly=yes schtasks /create /tn SysMonsystemsetup -setremotelogin onAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Pour toute autre question, contactez security@cursor.com.