Aller au contenu principal

L’extension Claude Code a été piégée onze heures sur Cursor

L'extension Claude Code a été piégée onze heures sur Cursor

L’essentiel

  • Une version piégée de l’extension Claude Code est restée disponible environ onze heures, jeudi, sur la marketplace de Cursor, avec jusqu’à 5 000 utilisateurs potentiellement exposés.
  • Le code malveillant collectait des informations sur la machine et tentait d’installer un accès distant persistant ; Cursor affirme qu’Anthropic n’a pas participé à son développement.
  • Cursor a retiré l’extension, bloqué le serveur de l’attaquant, fermé puis rouvert toute la marketplace pour renouveler ses clés, et ne signale aucune autre extension touchée.

Vous avez installé Claude Code dans Cursor, ou mis à jour l’extension jeudi ? Pendant onze heures, la version proposée n’était pas celle que vous pensiez recevoir.

Une extension qui porte le nom d’Anthropic a distribué du code malveillant qu’Anthropic n’a jamais écrit. Pour le comprendre, il faut regarder qui tient la boutique.

Une boutique tierce, un nom connu

Imaginez un grand éditeur de livres dont les ouvrages sont vendus dans la librairie d’un autre. L’éditeur écrit le texte, mais c’est la librairie qui range les exemplaires, vérifie les arrivages et garde les clés de la réserve. Si un faux exemplaire se glisse sur l’étagère avec la bonne couverture, le lecteur n’a aucun moyen de le voir.

C’est ce qui s’est passé. Cursor, l’éditeur de code assisté par IA basé sur VS Code, possède sa propre marketplace d’extensions. D’après son communiqué, une version altérée de l’extension Claude Code y a été disponible le 29 octobre, de 10 h 27 à 21 h 35 heure de Paris. Cursor chiffre l’exposition à 5 000 utilisateurs au plus. La version la plus citée porte le numéro 2.1.313 ; dans sa mise à jour du 30 octobre, Cursor mentionne aussi la 2.1.312.

Anthropic n’a pas participé à son développement, précise Cursor. Les versions publiées par Anthropic sur la marketplace de Microsoft et sur Open VSX n’ont pas été touchées, selon les vérifications de StepSecurity : le problème est propre à la boutique de Cursor. Une zone d’ombre demeure, car aucune explication publique ne dit comment la version trafiquée y a été publiée. Un compte compromis, une clé de publication volée, une faille dans la marketplace : aucune de ces pistes n’est confirmée.

Reconnaissance, puis porte dérobée

Les détails techniques viennent de Cursor et des sociétés de sécurité StepSecurity et OX Security, qui ont analysé l’échantillon. Les fichiers piégés visaient Windows et macOS, et le programme procédait en deux temps.

D’abord la reconnaissance. Il relevait le nom de la machine, l’identifiant de l’utilisateur, le système d’exploitation, l’architecture, les répertoires de travail, l’adresse e-mail Git et l’adresse IP publique. Il listait aussi les noms des variables d’environnement, et ces noms suffisent à repérer des identifiants cloud et des jetons d’API à convoiter plus tard. Le tout partait en requête HTTP POST vers une adresse /beacon, sur le port 8099.

Ensuite l’installation d’une porte dérobée : inscrire une clé SSH (le protocole d’accès à distance) contrôlée par l’attaquant, activer le service SSH local et ouvrir un tunnel inversé (la machine de la victime appelle celle de l’attaquant, ce qui contourne les pare-feu). Pour s’incruster, le code créait un LaunchAgent sur macOS ou une tâche planifiée avec les droits SYSTEM sur Windows, avec de nouvelles tentatives environ toutes les 60 secondes.

L’activation du service SSH exige des droits administrateur et a probablement échoué sur la plupart des machines. Le reste a fonctionné, d’après Cursor : la clé a été ajoutée, la persistance installée, les informations envoyées. Une porte à moitié construite reste une porte, et la serrure appartient déjà à l’attaquant.

Un poste de développeur plein de clés

Une extension s’exécute avec les permissions de l’environnement de développement. Elle lit vos fichiers, votre code source, vos outils. Quand elle accompagne un agent IA, le poste de travail contient en plus ce qui ouvre les services d’IA : clés d’API des modèles, jetons d’accès aux dépôts, variables d’environnement des projets. Voler la liste de ces variables, c’est dresser la carte des endroits où frapper ensuite.

Par défaut, les extensions de Cursor se mettent à jour toutes seules. C’est confortable, et cette commodité transforme une publication malveillante de onze heures en incident : personne n’a eu besoin de cliquer.

La répartition des rôles explique le reste. Anthropic contrôle son modèle, son code et ses propres canaux. Elle ne contrôle ni la boutique d’un tiers, ni les clés qui y protègent la publication. Plus les outils de programmation IA se démultiplient (Cursor, VS Code, JetBrains, terminal), plus chaque marketplace devient un maillon que l’éditeur du modèle ne tient pas.

Marketplace fermée, clés renouvelées, postes à vérifier

Cursor a retiré la version, travaillé avec son hébergeur pour couper l’accès au serveur de commande, puis fermé toute la marketplace le temps de renouveler les clés et d’auditer les accès. Elle est rouverte, et aucune autre extension n’est concernée selon l’entreprise. La mesure est radicale, et plutôt rassurante sur la réactivité.

Côté praticien, trois gestes se déduisent directement du mécanisme. Si vous avez installé ou actualisé l’extension jeudi dans la fenêtre indiquée, considérez la machine comme potentiellement touchée : désinstaller ne suffit pas, car le code laisse des scripts autonomes. Cherchez la clé « svc-telemetry » dans vos clés SSH autorisées, vérifiez les tâches planifiées et les LaunchAgent, passez à la version 2.1.314, puis renouvelez les clés d’API et jetons présents dans vos variables d’environnement. Désactivez ensuite la mise à jour automatique des extensions sur les postes qui manipulent des secrets, ou au moins retardez-la de quelques jours. Enfin, gardez les clés de production hors de l’environnement du poste de développement quand c’est possible.

L’incident laisse une question ouverte : l’éditeur de l’outil, l’éditeur du modèle ou l’utilisateur, qui doit vérifier une extension portant le nom d’un autre ?

Mon avis

Onze heures, c’est court, et c’est justement ce qui m’inquiète : l’attaque n’a buté que sur une étape, faute de droits administrateur, pas grâce à une défense. Le prochain essai sera mieux écrit. Les agents IA concentrent sur un même poste le code, les secrets et les droits d’exécution, et leur distribution ressemble encore à celle d’un thème d’éditeur. Tant que les extensions ne seront pas signées par l’éditeur du modèle et vérifiées à chaque publication, la confiance reposera sur une boutique tierce que personne ne contrôle.

Ils m’ont fait confiance

« Il ne se contente pas de corriger les symptômes, il cherche à comprendre l'origine des problèmes et à sécuriser les modifications effectuées. J'ai réellement le sentiment d'avoir trouvé un développeur qui comprend à la fois la technique et les enjeux globaux du projet. »

Évaluation client · projet WordPress · septembre 2026

5,0/5 sur 22 évaluations

Faire appel à mes services →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *