Les utilisateurs de l'éditeur de code propulsé par l'intelligence artificielle Cursor ont fait l'objet d'une tentative d'attaque ciblant les chaînes d'approvisionnement logicielles, via l'introduction de versions malveillantes de l'extension Claude Code d'Anthropic dans le magasin dédié de l'éditeur, qui sont restées présentes pendant près de 11 heures avant d'être détectées et supprimées.
Selon les données techniques, l'incident a concerné les versions 2.1.312 et 2.1.313 de l'extension portant l'identifiant anthropic.claude-code. Le chercheur en sécurité Kevin Beaumont a estimé que le logiciel malveillant aurait pu être distribué sur près de 5 000 systèmes de développeurs travaillant sous les environnements macOS et Windows avant d'être retiré.
Mécanisme de l'attaque et tentatives d'espionnage
Les attaquants ont compté sur l'inclusion de code JavaScript s'exécutant automatiquement dès le chargement des paquets de l'extension dans l'éditeur. La première phase de l'attaque s'est concentrée sur la reconnaissance de l'environnement logiciel en collectant des informations sensibles sur le système hôte, incluant :
- Le nom de l'appareil (Hostname), le nom d'utilisateur, le type de système d'exploitation et son architecture.
- Le chemin du répertoire de travail actuel (Working Directory).
- L'adresse e-mail enregistrée globalement dans l'outil de gestion de versions Git.
Les analyses ont montré, notamment celles observées par la société Microsoft, que le code a ensuite tenté d'installer une clé SSH, d'activer un serveur SSH local sur la machine de la victime, et d'établir un tunnel SSH inversé (Reverse SSH Tunnel) permettant aux attaquants de contourner les pare-feu, en plus d'implanter des fichiers de démarrage automatique garantissant la persistance de l'intrusion même après le redémarrage du système.
Échec de l'intrusion complète et mesures de réponse
La direction de Cursor a confirmé que la tentative des attaquants de contrôler les systèmes via le tunnel SSH n'a pas abouti dans la plupart des cas ; en effet, l'activation du service SSH local nécessite des privilèges d'administration (Admin/Root) que l'extension ne possède pas par défaut sur la plupart des appareils macOS et Windows, ce qui a empêché les attaquants d'achever l'étape de connexion à distance.
De son côté, Anthropic a précisé par l'intermédiaire de son ingénieur Felix Rieseberg que les fausses copies n'avaient pas été développées ou publiées par l'entreprise, et qu'elles n'avaient pas été proposées sur les autres magasins officiels tels que le Visual Studio Marketplace, Open VSX ou le registre NPM. Afin d'éviter toute confusion dans les numéros de version, Anthropic a directement fait passer son numéro de version officielle à 2.1.314.
Mesures de confinement et que doivent faire les développeurs ?
La plateforme Cursor s'est empressée de supprimer les deux extensions suspectes et de suspendre temporairement le magasin pour examen, tout en renouvelant l'ensemble des clés de sécurité et en reconstruisant l'environnement du magasin avant de le rouvrir, en parallèlement avec la coordination avec l'hébergeur cloud pour désactiver le serveur de commande utilisé par les attaquants.
L'entreprise a souligné que la simple désinstallation de l'extension de l'éditeur peut ne pas suffire à nettoyer le système infecté, car la charge malveillante crée des scripts indépendants pour maintenir sa présence au sein du système. Cursor a fourni un script de recherche ainsi que des indicateurs de compromission (IoCs), tout en recommandant d'isoler les appareils suspectés d'être infectés, de supprimer les clés SSH non autorisées, d'arrêter les tunnels en cours d'exécution et d'évaluer la nécessité d'une réinitialisation complète du système pour garantir l'élimination de toute trace du logiciel malveillant.