| |

Comment 66 lignes de JavaScript transforment-elles une extension Claude Code en porte dérobée SSH ? Décryptage des 6 étapes de l’attaque

Comment 66 lignes de JavaScript transforment-elles une extension Claude Code en porte dérobée SSH ? Décryptage des 6 étapes de l’attaque

Note de l’auteur : analyse d’un plugin Claude Code malveillant découvert sur la place de marché des extensions Cursor. Comment son chargeur de 66 lignes se déclenche-t-il ? Comment les deux jeux de clés SSH et le tunnel inversé fonctionnent-ils ensemble ? Quelles conclusions sont confirmées, et lesquelles ne le sont pas ? Voici aussi comment les développeurs peuvent vérifier si leur machine est touchée.

Le 29 octobre 2026, une version compromise de l’extension anthropic.claude-code est apparue sur la place de marché des extensions VS Code de Cursor. Au début de son fichier extension.js, des chercheurs ont découvert un chargeur JavaScript d’environ 66 lignes. Dès que l’éditeur charge ce module, le chargeur tente d’installer une porte dérobée SSH persistante sur l’ordinateur du développeur.

Ce n’est pas une simple rumeur. Cursor a publié un avis de sécurité officiel, et Microsoft Security Research, Phorion, StepSecurity, OpenSourceMalware et Expel ont également publié leurs analyses. Expel a même enquêté sur quatre incidents réels chez ses clients. Au 1er novembre, StepSecurity avait ajouté une comparaison précise des échantillons, rendant l’ensemble technique globalement clair.

L’essentiel : comprendre en 3 minutes ce que font ces 66 lignes de code, pourquoi l’utilisateur n’a pas besoin d’exécuter une commande dangereuse et pourquoi la désinstallation du plugin ne suffit pas à confirmer que la machine est sûre.

66-lines-javascript-claude-code-extension-ssh-backdoor-fr-image-0


L’essentiel sur la porte dérobée JavaScript de 66 lignes

Commençons par délimiter l’incident. Il s’agit d’une attaque de la chaîne d’approvisionnement des outils de développement, liée au canal de distribution des extensions de Cursor. Le modèle Claude lui-même n’a pas été compromis, et rien n’indique que les systèmes internes d’Anthropic aient été infiltrés. Microsoft a confirmé que la marketplace Microsoft Visual Studio et le paquet npm officiel @anthropic-ai/claude-code n’étaient pas touchés.

Élément Détails
Date de l’incident 29 octobre 2026
Canal de distribution Cursor VS Code Extension Marketplace
Identité usurpée anthropic.claude-code (Anthropic n’a ni créé ni publié ces versions)
Versions malveillantes 2.1.312, 2.1.313
Plateformes des paquets malveillants recensés officiellement Windows x64, macOS ARM64
Durée de distribution publique Environ 11 heures et 8 minutes
Nombre maximal d’utilisateurs potentiellement touchés selon l’annonce officielle 5 000 (il s’agit d’un plafond, pas de 5 000 machines compromises)
Code injecté Chargeur placé en début de fichier, lignes 1 à 66 de extension.js
Version corrective publiée ensuite 2.1.314, publiée par Anthropic

Chronologie de l’incident

Toutes les heures ci-dessous sont indiquées à l’heure de Pékin. Il faut distinguer deux moments : celui où le paquet d’installation était téléchargeable et celui où un paquet déjà téléchargé a effectivement été exécuté. Le second peut être nettement plus tardif.

Heure de Pékin Événement
29 octobre, 17 h 27 L’extension malveillante devient téléchargeable sur la marketplace Cursor
30 octobre, 4 h 35 Cursor interrompt la distribution, mettant fin à la période d’exposition
30 octobre Cursor publie un avis de sécurité ; Phorion, OpenSourceMalware et Microsoft publient ensuite leurs analyses
30 octobre, 12 h 45 Expel observe la première exécution du code malveillant sur le Mac d’un client, environ 8 heures après le retrait de l’extension
31 octobre, 2 h 30 Cursor met à jour son avis, ajoute la version 2.1.312 aux versions touchées et révise les indicateurs de compromission
1er novembre StepSecurity termine une comparaison statique précise à partir d’échantillons de MalwareBazaar

Après la révélation de l’incident, Cursor a retiré les versions malveillantes et fermé temporairement toute sa marketplace d’extensions. L’entreprise a également audité les journaux d’accès, renouvelé les clés, reconstruit la marketplace et coordonné avec les fournisseurs de services cloud la mise hors ligne des serveurs des attaquants. Les informations publiques n’expliquent pas encore comment les attaquants ont obtenu l’autorisation de publier des versions sur la marketplace Cursor. En attendant les conclusions de l’enquête, il serait prématuré d’affirmer qu’un compte Anthropic a été volé ou qu’une faille précise existe dans Cursor.


Comment 66 lignes de JavaScript déclenchent une porte dérobée dans l’extension Claude Code

L’expression « 66 lignes » peut laisser croire que l’extension entière ne compte que 66 lignes. En réalité, le fichier extension.js légitime est un gros fichier compressé. L’attaquant a simplement inséré un chargeur malveillant tout au début, de la ligne 1 à la ligne 66.

Ce code utilise une expression de fonction immédiatement invoquée (IIFE). Il n’a pas besoin d’attendre que l’utilisateur envoie un message à Claude, ni qu’une autre condition soit remplie. Lorsque Cursor charge le fichier principal de l’extension dans l’environnement Node.js, cette logique s’exécute avant le code légitime de l’extension.

Une modification de 7 386 octets : comparaison précise des échantillons

StepSecurity a obtenu l’échantillon sur MalwareBazaar le 1er novembre, puis a effectué une comparaison statique après avoir vérifié son empreinte SHA-256. Le résultat montre que l’attaquant n’avait aucun besoin de réécrire l’extension.

Élément comparé Valeur
extension.js légitime 3 685 536 octets
extension.js malveillant 3 692 922 octets
Chargeur ajouté 7 386 octets
Part du contenu ajouté Environ 0,20 %
Numéro de version dans le manifeste externe 2.1.313
Version déclarée dans le code de l’extension 2.1.312

Les deux dernières lignes méritent aussi qu’on s’y attarde. L’attaquant a utilisé la version légitime 2.1.312 comme base pour recréer le paquet, en modifiant uniquement les informations de version externes. Le numéro de version affiché ne correspond donc pas forcément à la véritable origine du code : il n’est pas fiable de se baser uniquement sur ce numéro. À un autre endroit de l’article de StepSecurity, le nombre d’« octets restants » présente une incohérence arithmétique. Pour citer les chiffres, mieux vaut se fier aux tailles totales et à l’augmentation indiquées dans le tableau ci-dessus.

Pourquoi l’utilisateur n’a pas besoin d’exécuter de commande dangereuse

Cette attaque n’a rien à voir avec une injection d’invite. Les chercheurs ont confirmé les points suivants :

  • L’utilisateur n’a pas besoin d’entamer une conversation avec Claude, et le modèle n’a pas besoin d’accepter d’exécuter des instructions à haut risque ;
  • L’attaque ne repose ni sur une invite malveillante ni sur les scripts de cycle de vie de l’installation npm ;
  • L’attaque initiale ne nécessite pas le téléchargement d’un fichier exécutable supplémentaire.

Le véritable risque vient des droits d’exécution dont disposent les extensions d’IDE sur l’ordinateur du développeur. Une extension s’exécute dans Node.js et peut donc accéder au système de fichiers, lire des informations système, créer des processus enfants, exécuter des commandes système, envoyer des requêtes HTTP et utiliser les outils SSH installés sur la machine.

66-lines-javascript-claude-code-extension-ssh-backdoor-fr-image-1


Les deux clés de la porte dérobée SSH dans un plugin Claude Code

L’astuce de ces 66 lignes de code consiste à s’appuyer entièrement sur SSH, déjà présent sur le système. L’attaquant n’a pas besoin de développer son propre programme de contrôle à distance : il lui suffit d’utiliser deux clés SSH aux rôles distincts.

La première est une clé autorisée sur l’ordinateur de la victime. Le programme malveillant ajoute la clé publique de l’attaquant au fichier authorized_keys de l’utilisateur, avec le marqueur public svc-telemetry. Si le service SSH local est actif, une personne disposant de la clé privée correspondante peut tenter de se connecter avec l’identité de cet utilisateur.

La deuxième est une clé d’identité pour se connecter à un serveur externe. Le programme malveillant enregistre séparément une clé privée, qui permet à l’appareil de la victime d’établir une connexion vers le serveur de l’attaquant. Cette clé n’est pas une clé privée appartenant à l’utilisateur. En bref, la première détermine si l’attaquant peut s’authentifier ; la deuxième permet à l’ordinateur de la victime d’établir d’abord une connexion sortante.

Pourquoi se méfier d’un tunnel SSH inversé

De nombreux réseaux d’entreprise et domestiques bloquent l’accès direct aux ordinateurs personnels depuis Internet, mais autorisent généralement les connexions sortantes. Le tunnel inversé exploite précisément cette situation : l’ordinateur de la victime se connecte d’abord au serveur de l’attaquant, qui redirige ensuite les demandes d’accès vers le port 22 local.

Mais l’existence d’une connexion ne signifie pas qu’une session a été ouverte. La réussite de la connexion dépend de l’exécution du service SSH local, de l’application de la configuration d’authentification et des paramètres de transfert du serveur de l’attaquant. Si le service SSH local n’est pas démarré, le tunnel peut quand même être établi, mais la connexion à distance ne pourra pas aboutir.


Les techniques de dissimulation et les défauts des 66 lignes de code malveillant

Pour réduire les risques d’être découvert, le chargeur prend plusieurs précautions :

  • les fonctionnalités normales de Claude Code continuent de se charger ;
  • chaque étape de l’attaque intercepte ses propres erreurs, puis l’exécution se poursuit silencieusement ;
  • les tâches de persistance utilisent des noms imitant des composants système, comme SysMon et com.apple.sysmond ;
  • en cas d’échec de connexion, une nouvelle tentative a lieu environ toutes les 60 secondes ;
  • une tentative d’envoi d’informations est lancée environ 1,5 seconde après le démarrage.

Aucune anomalie n’est forcément visible dans l’interface.

Le code malveillant présente aussi des défauts évidents qui réduisent, dans les faits, les chances de réussite de la connexion à distance :

Plateforme Défaut d’implémentation Effet réel
macOS La vérification de l’état de Remote Login avec des droits ordinaires renvoie une erreur d’autorisation ; le code ne tente l’activation que s’il détecte explicitement un état « désactivé » Sur de nombreux Mac où SSH était désactivé, la connexion à distance ne sera pas activée automatiquement ; si SSH était déjà activé, le risque reste présent
Windows L’installation d’OpenSSH Server utilise PowerShell, mais passe par une fonction auxiliaire qui dépend de /bin/sh Ce chemin n’existe pas sur une installation Windows standard ; l’activation du service SSH peut donc échouer
Linux La persistance passe par crontab @reboot ; Phorion a relevé un défaut dans la vérification de crontab Des exécutions répétées peuvent endommager les tâches planifiées existantes de l’utilisateur ; l’ampleur réelle de la distribution sur Linux n’a pas été confirmée

Ces défauts ne rendent pas le code totalement inoffensif. Écrire dans les fichiers de l’utilisateur ou créer des éléments de démarrage au niveau utilisateur ne nécessite souvent pas de droits administrateur. On peut donc se retrouver dans une situation où le service de connexion à distance n’a pas démarré, mais où la clé autorisée a déjà été ajoutée, le script de démarrage créé, les informations sur l’hôte envoyées et le processus en arrière-plan continue de tenter des connexions sortantes. Il serait donc faux de penser que l’absence de droits administrateur garantit une sécurité totale.


Analyse des conséquences de la porte dérobée du plugin Claude Code

Conséquences pour les développeurs

  • Les noms des variables d’environnement associées aux clés API ont pu être exposés : le chargeur sélectionne jusqu’à 40 variables d’environnement dont le nom contient KEY, TOKEN, SECRET, PASS, AWS ou GCP. Le premier rapport transmet les noms, pas les valeurs, mais l’attaquant peut ainsi identifier les API ou les plateformes cloud utilisées. Une fois la porte dérobée active, les identifiants locaux peuvent néanmoins être consultés.
  • Désinstaller le plugin ne suffit pas à supprimer la porte dérobée : les fichiers de persistance, les éléments de démarrage et les clés publiques SSH ne disparaissent pas automatiquement avec l’extension. Dans un cas traité par Expel, un utilisateur a ouvert Cursor après le retrait du plugin du marché. L’activité malveillante a alors commencé et s’est poursuivie pendant près de 10 heures.
  • Un seul indicateur ne suffit pas à tout détecter : Expel a découvert sur une machine un processus de tunnel malveillant, sans trouver le marqueur de clé publique svc-telemetry. Il faut donc vérifier à la fois les versions, les hachages de fichiers, les processus, les connexions réseau et les éléments de démarrage.

Conséquences pour le secteur

  • Les extensions d’IDE deviennent une cible de choix : avec la généralisation des outils de programmation assistés par IA, les ordinateurs des développeurs contiennent à la fois du code source, des identifiants cloud et des clés API de modèles. Insérer 7 Ko de code au début d’une archive de 3,6 Mo suffit à en modifier le profil de sécurité.
  • La chaîne de publication des places de marché d’extensions tierces doit être réexaminée : cet incident ne s’est produit que sur la place de marché Cursor ; l’extension du même nom distribuée par d’autres canaux n’était pas compromise. Un nom d’éditeur qui semble officiel ne suffit donc pas à établir la confiance.

66-lines-javascript-claude-code-extension-ssh-backdoor-fr-image-2

L’illustration ci-dessus a été préparée par l’équipe technique d’APIYI apiyi.com à partir de recherches publiques. Le tableau ci-dessous distingue les faits établis des éléments non confirmés : veillez à respecter cette distinction lorsque vous les citez ou les rapportez.

Conclusion Statut Précision
Une extension Claude Code falsifiée a été distribuée sur la place de marché Cursor Confirmé L’annonce officielle le confirme
Le code malveillant peut collecter des informations, implanter une clé, créer un tunnel inversé et assurer sa persistance Confirmé Les analyses des échantillons par plusieurs organismes concordent
Une activité malveillante a été observée sur des appareils de clients Confirmé Expel a traité 4 cas, tous sur Mac
5 000 ordinateurs ont été entièrement contrôlés Non confirmé 5 000 est seulement le nombre maximal d’appareils potentiellement touchés
Les valeurs des clés API des utilisateurs ont été volées Non confirmé Le premier rapport ne contenait que les noms des variables
Nombre d’intrusions réussies dans le monde et pertes financières Non communiqué Il ne faut pas les extrapoler

Comment détecter la porte dérobée SSH du plugin Claude Code

Si vous avez installé ou mis à jour automatiquement l’extension Claude Code via la marketplace de Cursor entre le 29 et le 30 octobre, une vérification rapide s’impose. Le script Node.js ci-dessous se contente de lire les chemins associés aux indicateurs publiquement divulgués, sans rien modifier :

// 只读排查:检查公开披露的入侵痕迹(不能单独作为结论)
const fs = require("fs"), os = require("os"), path = require("path");
const home = os.homedir();
const checks = [
  path.join(home, ".ssh", "authorized_keys"),
  path.join(home, ".config", ".smt"),
  path.join(home, ".config", ".smtk"),
  path.join(home, "Library", "LaunchAgents", "com.apple.sysmond.plist"),
  path.join(home, ".config", "smt.cmd"),
  path.join(home, ".config", "smtk"),
];
for (const p of checks) {
  if (!fs.existsSync(p)) continue;
  const hit = p.endsWith("authorized_keys")
    ? fs.readFileSync(p, "utf8").includes("svc-telemetry")
    : true;
  if (hit) console.log("⚠️ 发现可疑痕迹:", p);
}

Si le script détecte l’un de ces éléments, vérifiez aussi les empreintes des fichiers, la tâche planifiée SysMon, les processus et les journaux réseau. Cherchez notamment si une connexion a été établie vers les ports 22 ou 8099 de 134.209.82[.]225. L’annonce officielle de Cursor fournit également des scripts de vérification et de correction pour macOS et Windows. Avant de les exécuter, prenez le temps de comprendre les permissions qu’ils demandent.

Vous pouvez aussi utiliser un grand modèle de langage pour vous aider à examiner le code d’un fichier d’extension suspect. Vérifiez en particulier si le début du fichier contient une IIFE qui appelle child_process, écrit dans authorized_keys ou établit une connexion SSH. Voici un exemple minimal d’invocation du modèle :

import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # APIYI OpenAI 兼容接口
)

head = open("extension.js", encoding="utf-8", errors="ignore").read(10000)
resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "请审查这段 JS 开头是否存在可疑的子进程、SSH、持久化或外连行为:\n" + head}]
)
print(resp.choices[0].message.content)
Voir le script d’analyse complet (avec comparaison des empreintes)
import hashlib
import sys
import openai

# 公开披露的恶意 extension.js SHA-256
KNOWN_BAD = {
    "ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15",
}
KEYWORDS = ["child_process", "authorized_keys", "svc-telemetry",
            "LaunchAgents", "schtasks", "crontab", "8099", "-R"]

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # 使用 APIYI 统一接口
)

def sha256(path: str) -> str:
    h = hashlib.sha256()
    with open(path, "rb") as f:
        for chunk in iter(lambda: f.read(1 << 20), b""):
            h.update(chunk)
    return h.hexdigest()

def review(path: str, head_size: int = 10000) -> None:
    digest = sha256(path)
    print("SHA-256:", digest)
    if digest in KNOWN_BAD:
        print("⚠️ 命中已公布的恶意哈希,请立即隔离设备并按官方指引处置")

    head = open(path, encoding="utf-8", errors="ignore").read(head_size)
    hits = [k for k in KEYWORDS if k in head]
    print("文件开头命中关键词:", hits or "无")

    prompt = (
        "你是安全审计助手。下面是一个 IDE 扩展入口文件的开头部分,"
        "请判断是否存在在模块加载时立即执行的代码,"
        "并列出涉及子进程、SSH 密钥、持久化、网络外连的可疑片段。\n\n" + head
    )
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        max_tokens=1200,
    )
    print(resp.choices[0].message.content)

if __name__ == "__main__":
    review(sys.argv[1] if len(sys.argv) > 1 else "extension.js")

Conseil : l’analyse par un modèle est une aide, pas un substitut à l’examen des journaux EDR et à la vérification des indicateurs officiels. Pour comparer l’efficacité de différents modèles dans la revue de code, vous pouvez passer de l’un à l’autre avec la même clé via APIYI, sur apiyi.com. Les nouveaux utilisateurs disposent d’un quota gratuit pour les tests. Avant de soumettre le code, vérifiez qu’il ne contient aucune information professionnelle sensible.

Une fois l’exécution de l’extension malveillante confirmée, suivez ces étapes dans l’ordre :

  1. Conservez les preuves nécessaires à l’enquête et isolez l’appareil ;
  2. Supprimez les fichiers malveillants, les éléments de démarrage et les clés publiques SSH ;
  3. Évaluez les risques pour les dépôts, les identifiants cloud, les jetons de session et les clés API accessibles depuis cet appareil ;
  4. Si vous ne pouvez pas rétablir un état fiable, reconstruisez le système et renouvelez tous les identifiants depuis un appareil de confiance.

Questions fréquentes (FAQ)

Q1 : Les 66 lignes de JavaScript correspondent-elles à toute l’extension Claude Code ?

Non. Les 66 lignes correspondent au chargeur malveillant inséré tout au début de `extension.js`, de la ligne 1 à la ligne 66, soit environ 7 386 octets. Le code légitime de l’extension, qui pèse plus de 3,6 Mo, se trouve toujours à la suite et continue de fonctionner normalement.

Q2 : Quelle est la différence avec une attaque par injection d’invite ?

L’injection d’invite vise à pousser le modèle à produire une réponse ou à effectuer une action dangereuse. Ici, le code de l’extension s’exécute directement lors de son chargement. Le processus ne passe pas par Claude : il ne nécessite ni conversation ni accord du modèle. Même si vous n’avez jamais utilisé les fonctions d’IA de l’extension, le code peut s’exécuter dès qu’elle est chargée.

Q3 : Claude Code installé depuis npm officiel ou la marketplace VS Code est-il touché ?

Microsoft a confirmé que Visual Studio Marketplace et le paquet npm officiel `@anthropic-ai/claude-code` n’étaient pas touchés. Aucune version malveillante correspondante n’a non plus été trouvée sur Open VSX. Seules les versions 2.1.312 et 2.1.313 distribuées par la marketplace Cursor sont concernées. Pour déterminer si une installation est touchée, il faut aussi vérifier sa provenance et le hachage du fichier.

Q4 : Faut-il remplacer les clés API stockées dans les variables d’environnement ?

Le signalement initial ne contenait que les noms des variables, pas leurs valeurs. Toutefois, si l’exécution du code malveillant sur votre appareil est confirmée, la porte dérobée a pu être utilisée pour lire vos identifiants. Par précaution, renouvelez vos clés depuis un appareil de confiance. Il est également conseillé de remplacer les clés de plateformes comme APIYI apiyi.com stockées dans des variables d’environnement, puis d’adopter une méthode de gestion des secrets plus sécurisée.

Q5 : Comment réduire ce type de risque lors du développement d’applications d’IA ?

Quelques bonnes pratiques : évitez de conserver durablement des clés à privilèges élevés en clair dans les variables d’environnement de votre machine de développement, utilisez des clés différentes pour chaque projet et auditez régulièrement vos extensions d’IDE. En passant par une plateforme d’agrégation comme APIYI apiyi.com pour invoquer des modèles, vous pouvez utiliser une seule clé pour accéder aux modèles de plusieurs fournisseurs. Cela réduit le nombre d’identifiants stockés localement et, en cas de problème, une seule clé est à renouveler.


Les points clés de l’affaire de la porte dérobée en 66 lignes de JavaScript

  • Nature de l’attaque : la marketplace d’extensions Cursor a subi une attaque de la chaîne d’approvisionnement ; le modèle Claude lui-même n’a pas été compromis.
  • Déclenchement : un chargeur IIFE de 66 lignes s’exécutait automatiquement au chargement de l’extension, sans aucune action de l’utilisateur.
  • Fonctionnement de la porte dérobée : deux paires de clés SSH et un tunnel inversé, reposant entièrement sur les outils fournis avec le système.
  • Ce que l’on sait : 5 000 est le nombre maximal d’utilisateurs potentiellement concernés ; le vol effectif de valeurs de clés API n’a pas été confirmé.
  • Mesures à prendre : désinstaller l’extension ne suffit pas à supprimer la porte dérobée. Il faut mener plusieurs vérifications et renouveler les identifiants depuis un appareil de confiance.
  • Bonnes pratiques : limitez le nombre de clés en clair sur votre machine. APIYI apiyi.com peut vous aider à centraliser la gestion des identifiants d’invocation des modèles.

Bilan

Cette affaire de porte dérobée en 66 lignes de JavaScript montre trois choses :

  1. Peu de modifications, beaucoup de dégâts : il suffit d’ajouter 0,2 % de code au début d’un fichier de 3,6 Mo pour transformer une extension de confiance en vecteur de porte dérobée.
  2. Les permissions déterminent le risque : les extensions d’IDE disposent de toutes les capacités d’exécution de Node.js. Même avec les droits d’un utilisateur standard, elles peuvent écrire des clés et mettre en place des mécanismes de persistance.
  3. Le retrait ne marque pas la fin de l’incident : un composant malveillant déjà installé peut s’exécuter plus tard et continuer à établir des connexions sortantes. Il faut donc le rechercher et le supprimer séparément.

Si vous avez utilisé l’extension Claude Code de la marketplace Cursor pendant la période d’exposition, vérifiez votre environnement à l’aide des indicateurs officiels et renouvelez les identifiants potentiellement compromis. Au quotidien, réduisez le nombre d’identifiants stockés localement : par exemple, APIYI apiyi.com permet d’invoquer les modèles de plusieurs fournisseurs avec une clé unique, afin de limiter l’impact d’une fuite ponctuelle.


📚 Références

  1. Avis de sécurité officiel de Cursor : chronologie de l’incident, versions, empreintes et script de nettoyage
  2. Lien : cursor.com/blog/claude-code-extension-security-notice
  3. À retenir : une source de première main pour l’investigation et la remédiation

  4. Microsoft Security Research : chaîne d’attaque complète et correspondance avec MITRE ATT&CK

  5. Lien : microsoft.com/en-us/security/blog/2026/10/30/inside-malicious-claude-code-branded-cursor-extension-persistent-ssh-backdoor/
  6. À retenir : analyse des limites de la chaîne d’approvisionnement, des mécanismes SSH et de la persistance

  7. Phorion : chargeur de 66 lignes et défauts d’implémentation selon les plateformes

  8. Lien : phorion.io/blog/offical-claude-code-vsx-compromise/
  9. À retenir : détails sur le filtrage des variables d’environnement et le défaut du crontab sous Linux

  10. StepSecurity : comparaison précise des échantillons du 1er novembre

  11. Lien : stepsecurity.io/blog/claude-code-extension-trojanized
  12. À retenir : différences de taille des fichiers et preuves de la falsification des identifiants de version

  13. Expel : enquête sur quatre incidents réels chez des clients

  14. Lien : expel.com/blog/blog-fake-claude-code-extension-cursor-ssh-backdoor/
  15. À retenir : cas d’exécution différée et de détection manquée

  16. OpenSourceMalware : analyse de la structure interne de l’extension malveillante

  17. Lien : opensourcemalware.com/blog/trojanized-claude-code-extension-plants-persistent-ssh-backdoor
  18. À retenir : confirmation de l’emplacement du chargeur et de son mode d’exécution

Auteur : équipe technique APIYI
Échanges techniques : contactez-nous depuis la page d’accueil d’APIYI sur apiyi.com. Pour en savoir plus, consultez le centre de documentation sur docs.apiyi.com.

Articles connexes

Publications similaires