Selon Datadog (billet technique signé par la chercheuse Tesnim Hamdouni), un nouvel outil open source, IDE‑SHEPHERD, renforce la sécurité de VS Code et Cursor en surveillant et bloquant en temps réel des comportements malveillants d’extensions et de workspaces, une surface d’attaque trop peu couverte par les protections classiques.

🛡️ IDE‑SHEPHERD s’intègre au runtime Node.js de l’extension host via require‑in‑the‑middle pour patcher précocement des modules critiques (child_process, http, https). Il offre deux couches complémentaires: une défense à l’exécution (interception de l’exécution de processus, surveillance des connexions réseau, blocage de tâches VS Code dangereuses) et une détection heuristique (analyse des métadonnées d’extensions: versions suspectes, activation wildcard, commandes cachées, signes d’obfuscation). Il introduit un modèle de confiance affiné, évaluant le comportement de chaque extension et ne relayant pas automatiquement la « Workspace Trust » de l’IDE.

🔎 Interface et observabilité: une UI dédiée (Security Status, Extensions Analysis, Suspicious Tasks Timeline, Security Events, allowlists) et des journaux développeur détaillent les événements. Une intégration Datadog Agent (opt‑in) permet de centraliser la télémétrie; sinon, les données restent locales. Le projet est open source et orienté communauté, avec invitation à contribuer des règles.

🚫 Études de cas réelles:

  • Cas 1 — Blocage d’exécution de processus malveillant: une extension compromise obfusquée (obfuscator.io) tente d’exécuter PowerShell caché pour récupérer un script distant (ex. niggboo[.]com). Le patch child_process d’IDE‑SHEPHERD intercepte exec(), reconnaît les indicateurs (PowerShell, flags suspects) et bloque l’exécution en notifiant l’utilisateur. Démonstration avec une extension malveillante (juanfblanco.awshh) retirée du marketplace mais réinstallée via renommage du package.
  • Cas 2 — Prévention d’un task “Contagious Interview”: un repo piégé (.vscode/tasks.json) exécute automatiquement (runOn: folderOpen) des commandes OS‑spécifiques pour télécharger/chaîner un script distant depuis vscode-setup[.]vercel[.]app via curl/wget|sh. Le TaskScanner détecte le motif à haute sévérité et termine immédiatement la tâche non encore approuvée.

📌 IOCs (exemples extraits) et TTPs observés:

  • IOCs:
    • Domaines: juanfblanco.awswhh (variante), vitalikbuterin-ethfoundation.blan-co, showsnowcrypto.snowshono, niggboo[.]com, vscode-setup[.]vercel[.]app
    • Extension malveillante: juanfblanco.awshh (retirée du marketplace)
  • TTPs:
    • Abus du modèle de confiance VS Code/Cursor (extensions/workspaces) et exécution de code arbitraire (child_process exec/spawn)
    • PowerShell masqué (-WindowStyle Hidden, -Command) et chaînes de téléchargement/exec via curl/wget | sh
    • Obfuscation (obfuscator.io), payloads distants, activation wildcard, tâches auto‑déclenchées (runOn: folderOpen)
    • Références d’attaques: campagnes « TigerJack » et « Solidity », et le schéma « Contagious Interview »

En synthèse, il s’agit d’une annonce technique détaillant un nouvel outil de protection runtime pour IDE (VS Code/Cursor), son fonctionnement, son interface et deux démonstrations de prévention d’attaques.


🔗 Source originale : https://securitylabs.datadoghq.com/articles/ide-shepherd-release-article/