C'est par la propre marketplace de Cursor qu'une copie empoisonnée de l'une des extensions de codage par IA les plus répandues a atteint des développeurs. L'éditeur a révélé le 29 octobre que la version 2.1.313 de l'extension Anthropic.claude-code proposée dans sa boutique d'extensions VS Code était une version malveillante, non conçue par Anthropic, et qu'au plus 5 000 utilisateurs l'avaient installée ou mise à jour. Cursor dit vouloir les contacter un par un.

Toujours selon Cursor, le paquet trafiqué a été disponible d'environ 2 h 27 à 13 h 35, heure du Pacifique. Dès son chargement, il relevait le nom de la machine et de l'utilisateur, le système d'exploitation, l'architecture du processeur, les répertoires personnel et de travail, les noms des variables d'environnement, l'adresse électronique configurée dans Git et l'adresse IP publique. Il cherchait ensuite à ajouter une clé contrôlée par l'attaquant au fichier authorized_keys, à activer le service SSH local et à ouvrir un tunnel SSH inversé vers un serveur distant, en réessayant à peu près chaque minute et en signalant son état en HTTP à un point de collecte sur le port 8099.

Le code cherchait aussi à résister aux redémarrages. Sous macOS, il enregistrait un LaunchAgent au nom imitant un composant d'Apple ; sous Windows, il tentait de créer une tâche planifiée exécutée en SYSTEM, avec un script dans le dossier de démarrage en solution de repli. OpenSourceMalware, qui a examiné le paquet de son côté, a découvert un chargeur de 66 lignes placé en tête du fichier JavaScript principal, avant le code légitime. Comme il s'exécute dès le chargement du module, la victime n'avait même pas besoin d'ouvrir une conversation avec Claude. Les chercheurs ont aussi repéré une variante Linux qui ajoute une entrée crontab au démarrage, et précisent que la phase de reconnaissance relevait les noms, mais pas les valeurs, d'une quarantaine de variables évoquant des clés, des jetons ou des secrets.

Les dégâts restent circonscrits. D'après Cursor, l'activation du service SSH exige des droits d'administrateur dont l'extension ne dispose pas sur la plupart des postes macOS et Windows, et des erreurs dans le code malveillant faisaient échouer cette étape hors configurations inhabituelles : l'attaquant ne pouvait donc en général pas se connecter par le tunnel. La clé indésirable, les scripts de persistance et le rapport sur la machine ont néanmoins été écrits ou transmis. Cursor ajoute avoir obtenu de l'hébergeur la mise hors ligne du serveur de l'attaquant, ce qui neutralise à la fois le tunnel et la remontée d'informations.

La riposte de Cursor ne s'est pas limitée au retrait de cette version. L'entreprise dit avoir bloqué toute diffusion, fermé par précaution l'ensemble de sa marketplace d'extensions VS Code, audité les accès, vérifié qu'aucune autre extension n'avait été modifiée, renouvelé ses clés et reconstruit la boutique avant de la rouvrir. Elle n'a pas expliqué comment l'attaquant avait réussi à publier le paquet modifié. Reuters, qui a relayé l'annonce, présente Cursor comme une société détenue par SpaceX et précise qu'Anthropic n'avait pas répondu dans l'immédiat à une demande de commentaire.

Les utilisateurs ayant installé la 2.1.313 depuis la marketplace de Cursor pendant ce créneau doivent rechercher dans leur fichier authorized_keys une clé portant l'étiquette svc-telemetry, isoler toute machine présentant des traces de la charge malveillante, lancer les scripts de nettoyage fournis par Cursor et renouveler leurs identifiants depuis un poste sain. Cursor prévient qu'une simple désinstallation ne suffit pas, car des scripts de persistance autonomes subsistent, et que la collecte limitée de données n'exclut pas un vol d'identifiants ultérieur via l'accès distant.

Les premiers comptes rendus publics divergeaient sur l'origine de la version piégée. La société de sécurité Phorion l'a présentée comme une compromission de l'extension sur Open VSX, tandis qu'OpenSourceMalware a revu son analyse après avoir été contactée par Cursor : la source était bien la marketplace de Cursor, et ni la fiche Open VSX, ni le paquet npm, ni la version de la boutique de Microsoft n'étaient malveillants. Cursor affirme pour sa part n'avoir aucun indice que d'autres versions ou la distribution officielle soient touchées.

Références