Aller au contenu

Le média des artisans du web samedi 31 octobre 2026

Sécurité

Une extension Claude Code piégée sur le Cursor Marketplace installait une porte dérobée SSH

Deux versions de l'extension officielle Claude Code distribuées via le Cursor Marketplace contenaient un code malveillant ouvrant un tunnel SSH distant. Cursor a retiré les paquets concernés après la publication d'une alerte détaillée par Phorion.

Extension Claude Code piegee sur le Cursor Marketplace

Les versions 2.1.312 et 2.1.313 de l’extension officielle Claude Code pour Visual Studio Code, téléchargées depuis le Cursor Marketplace sous macOS et Windows, contenaient un code injecté avant même l’activation du plugin. L’éditeur de sécurité Phorion a publié le 30 octobre une alerte détaillée, mise à jour le lendemain après confirmation de Cursor, qui a retiré les deux versions de sa place de marché.

Un code qui s’exécute avant l’activation de l’extension

Selon Phorion, le fichier extension.js comportait un préfixe injecté qui s’exécute dès le chargement par Node, avant même le rappel activate normalement prévu par l’API des extensions VS Code. Aucune interaction de la victime n’était nécessaire au-delà de l’installation du paquet piégé.

Le mécanisme en quatre étapes

L’analyse décrit une chaîne de compromission structurée, construite pour durer au-delà d’un simple redémarrage.

ÉtapeActionDétail technique
1Accès distantAjout d’une clé publique Ed25519 (commentaire svc-telemetry) dans ~/.ssh/authorized_keys, tentative d’activation de SSH
2Tunnel sortantConnexion SSH inversée vers 134.209.82.225 avec une clé privée embarquée, option -R *:0:localhost:22
3PersistanceLaunchAgent com.apple.sysmond sur macOS, tâche cron @reboot sur Linux, tâche planifiée « SysMon » sur Windows
4ReconnaissanceBalise HTTP en clair vers le port 8099 : nom d’hôte, utilisateur, OS, adresse IP publique, et les noms (pas les valeurs) de variables d’environnement liées à des identifiants

Un détail limite l’impact côté macOS : la commande systemsetup -getremotelogin renvoie un code de sortie à zéro même en cas d’erreur de droits, ce qui trompe le script et lui fait sauter l’activation effective du partage distant sur les postes où il n’était pas déjà actif. La clé et la persistance restent toutefois installées.

Désinstaller l’extension ne suffit pas à retirer la porte dérobée : les clés, le tunnel et la tâche de persistance survivent à la suppression du paquet.

Postes concernés : extension Claude Code pour VS Code, versions 2.1.312 et 2.1.313, installées via le Cursor Marketplace sous macOS ou Windows. Le Visual Studio Marketplace de Microsoft n’est pas cité dans l’alerte de Phorion.

Nettoyage recommandé

Phorion détaille une procédure de remédiation en plusieurs temps, à exécuter après avoir coupé l’accès réseau de la machine suspectée :


# Couper le tunnel et les process ssh/autossh suspects
pkill -f "134.209.82.225"

# macOS : retirer la persistance
launchctl unload ~/Library/LaunchAgents/com.apple.sysmond.plist
rm -f ~/Library/LaunchAgents/com.apple.sysmond.plist
rm -f ~/.config/.smt ~/.config/.smtk /tmp/.stk_*

# Retirer la cle plantee
sed -i '/svc-telemetry/d' ~/.ssh/authorized_keys

# Verifier que le partage distant n'a pas ete active
sudo systemsetup -getremotelogin

La rotation des identifiants accessibles depuis le compte touché complète la procédure. Les empreintes SHA-256 du fichier piégé et des clés plantées figurent dans l’alerte originale pour permettre une recherche d’indicateurs de compromission sur un parc de postes.

Une chaîne d’approvisionnement sous tension

L’incident s’ajoute à une série d’alertes récentes sur la distribution d’extensions et de paquets pour outils de développement assistés par IA. GitHub avait par exemple ouvert en préversion publique un pare-feu de paquets npm pour filtrer les dépendances suspectes avant leur installation. La question posée est la même à chaque fois : la confiance accordée par défaut à une place de marché d’extensions, qu’elle appartienne à un éditeur historique ou à un fork plus récent comme Cursor, repose sur des contrôles de publication qui restent inégaux d’un registre à l’autre.

Pour les équipes qui outillent leurs postes de développement avec une sélection d’utilitaires en ligne de commande, l’épisode rappelle l’intérêt de limiter les sources d’installation et de vérifier les empreintes publiées par les éditeurs avant une mise à jour automatique.

Ce qu’il faut retenir

Deux versions de l’extension Claude Code distribuées par le Cursor Marketplace contenaient une porte dérobée complète : accès SSH distant, tunnel vers un serveur de commande, persistance multiplateforme et reconnaissance de la machine. Cursor a retiré les paquets, mais la désinstallation seule ne suffit pas : la procédure de nettoyage et la rotation des identifiants exposés restent nécessaires sur tout poste ayant installé l’une des deux versions touchées.

Ce type d’incident ne surprend plus personne dans l’écosystème des extensions IDE, mais il mérite d’être pris au sérieux à chaque occurrence : les éditeurs d’extensions pour assistants de code manipulent des postes de développement truffés d’identifiants, ce qui en fait des cibles de choix. Un contrôle systématique des empreintes avant mise à jour, même pour un éditeur de confiance, coûte quelques minutes et peut éviter une compromission complète du poste — Simon Janvier.

Pour aller plus loin : l’alerte complète publiée par Phorion, avec les indicateurs de compromission et la chronologie détaillée.

Partager LinkedIn Bluesky Hacker News E-mail

À lire aussi