Cybersécurité
Rédaction Teknosfera
Cybersécurité

La porte dérobée de Claude Code le prouve : les plugins d’agents sont privilégiés

Une extension Claude Code altérée est restée environ 11 heures sur la marketplace de Cursor. La leçon vaut pour tous : signature, revue et sandboxing s’imposent pour ces plugins.

Publié
30 octobre 2026
Lecture
4 min
Catégories
Cybersécurité

Image générée par IA

Confieriez-vous les clés de votre ordinateur portable à un inconnu parce que l’installateur porte un nom célèbre ? Jusqu’à 5 000 développeurs ont été exposés à ce pari cette semaine, et il ne leur fallait qu’un clic.

Voici ce que l’on sait. Cursor, l’éditeur d’outils de programmation désormais détenu par SpaceX, a indiqué vendredi qu’une version modifiée à des fins malveillantes de l’extension Claude Code d’Anthropic était restée en ligne sur sa marketplace de 2 h 27 à 13 h 35, heure du Pacifique (PT), jeudi, touchant jusqu’à 5 000 utilisateurs. Selon Cursor, Anthropic n’a pas développé cette version. Elle cherchait à collecter le nom d’hôte, le nom d’utilisateur, le système d’exploitation et l’adresse IP publique, et à installer un accès à distance pour l’attaquant. Une étape clé exigeait des droits d’administrateur et aurait donc échoué sur la plupart des machines. Cursor l’a retirée, a fermé la marketplace par précaution, l’a reconstruite et affirme qu’aucune autre extension n’a été touchée.

Les chercheurs décrivent quelque chose de plus vicieux qu’un simple vol de données. L’analyse d’OpenSourceMalware indique que la version 2.1.313 contient un chargeur qui s’exécute avant le vrai code de l’extension, ajoute une clé de l’attaquant, ouvre un tunnel inversé et met en place une persistance. Les comptes rendus divergent sur certains détails, par exemple sur une éventuelle implication d’Open VSX; les points les plus fins restent donc à confirmer.

La marque était la vulnérabilité

La fiche indiquait Anthropic. Nous pensons que rien dans un parcours d’installation normal n’aurait alerté un développeur, et c’est tout le problème: pour la plupart d’entre nous, « officiel » est un sentiment, pas une vérification.

Dire que l’extension d’Anthropic a été piégée est, selon nous, assez vrai pour être utile, et un peu à côté de la question. Que le maillon faible soit un compte d’éditeur, une chaîne de publication de la marketplace ou autre chose, le résultat côté utilisateur est identique. Un nom dans le champ « éditeur » n’est qu’une étiquette. Quiconque peut écrire dans cette fiche hérite de toute la confiance que l’étiquette inspire.

Ce n’est pas nouveau. Un cas de 2025 a vu une fausse extension Solidity de la marketplace Open VSX servir à voler 500 000 dollars en cryptomonnaies à un développeur pourtant attentif à la sécurité. Avec les outils de programmation dopés à l’IA, c’est le gain pour l’attaquant qui change. Une extension d’agent se trouve à côté de vos dépôts, de votre terminal, de vos clés d’API et de vos identifiants cloud, car c’est ce qui la rend utile. À notre avis, c’est l’élément le plus privilégié de votre éditeur, par conception.

Les plugins d’agents méritent le traitement des dépendances de production

La plupart des équipes ne laisseraient jamais entrer un paquet quelconque dans un build sans fichier de verrouillage (lockfile), sans revue ni même un scanner. Les extensions d’éditeur échappent souvent à tout cela. Elles se mettent à jour discrètement, s’exécutent avec les droits de votre utilisateur, et personne n’ouvre de ticket quand l’une d’elles change. Nous y voyons un héritage de l’époque où une extension se résumait à un thème de couleurs et à un linter.

La barre pratique devrait donc monter. Selon nous:

  • Une signature qui veut dire quelque chose. Les marketplaces devraient vérifier qu’un build provient bien de la chaîne de publication de l’éditeur, et les éditeurs de code devraient refuser la mise à jour automatique si ce contrôle échoue.
  • Épinglage et mises à jour différées. Les équipes peuvent retenir les versions des extensions un jour ou deux. Ici, le build malveillant est resté en ligne environ 11 heures: un court délai aurait probablement transformé bien des installations en non-événements.
  • Sandboxing. Une extension qui doit dialoguer avec un service d’IA n’a pas besoin d’écrire des clés SSH ni de créer des scripts de démarrage. Les demandes d’autorisation pour ces actions devraient être la norme, pas une fonction exotique.
  • Revue du chemin de mise à jour, pas seulement de la première installation. Le plus inquiétant dans cet incident est que, selon les chercheurs, il est arrivé sous la forme d’un simple changement de version.

Les éditeurs ont aussi leur part du travail. Dans les premiers articles, Anthropic n’avait pas répondu tout de suite à une demande de commentaire, et Cursor n’avait apparemment pas encore précisé comment il alerterait les utilisateurs concernés. L’endiguement semble assez rapide, puisque la marketplace a été fermée puis reconstruite, et cela mérite d’être salué. Mais « nous l’avons retiré » ne veut pas dire « vous n’êtes pas touché ».

Que faire dès aujourd’hui

Si vous avez installé Claude Code via la marketplace de Cursor jeudi, vérifiez quelle version vous avez reçue et qui figure comme éditeur. La version 2.1.313 est celle qui a été signalée. Supprimer l’extension n’annule pas forcément une clé SSH implantée: examinez donc aussi vos clés autorisées et vos entrées de démarrage. Renouveler les identifiants qui se trouvaient sur cette machine est une précaution raisonnable; c’est notre conseil, pas une consigne d’un éditeur.

Faites ensuite le moins urgent: notez quelles extensions et quels plugins d’agents votre équipe utilise, et qui décide du moment des mises à jour. Si la réponse est « tout le monde, automatiquement », vous avez trouvé votre prochain risque pour la chaîne d’approvisionnement logicielle. Le secteur a mis des années à apprendre à se méfier des paquets par défaut. Les outils d’agents sont les suivants, et plus tôt nous cesserons de leur faire confiance sur la foi d’un logo, moins nous connaîtrons de jeudis comme celui-ci.

Sujets de débat

Aucun sujet pour l’instant : lancez le premier.

Plus d'articles