Lorsque les dépendances vous trahissent : la campagne de npm qui vole les lettres d'identité et les pièces de cryptomoneda

Publié 6 min de lectura 180 lecture

Aujourd'hui, nous voyons comment la sécurité des logiciels est touchée par l'ingénierie sociale et l'économie du crime organisé : les chercheurs ont découvert une explosion de paquets malveillants publiés dans le disque npm qui, déguisés en utilitaires et librairies légitimes, vont voler des identifiants et des portefeuilles de cryptomonéda de développeurs et d'administrateurs imprévus.

L'origine de la détection provient d'une analyse détaillée décrivant une campagne en plusieurs étapes: les librairies étudiées montrent pendant l'installation ce qui semble être des logs npm authentiques et ajoutent des retards aléatoires pour simuler des téléchargements réels, jusqu'à ce qu'ils sautent des messages qui indiquent le manque de permis d'écriture dans / usr / local / lib / noeud _ modules. Cet avis est utilisé comme prétexte pour demander le mot de passe de l'administrateur ou de la racine. Si l'utilisateur le tape, la prochaine étape est silencieuse : un téléchargement qui contacte les canaux dans Telegram pour obtenir l'URL de la charge utile finale et la clé pour la déchiffrer. Le résultat est la livraison d'un cheval de Troie d'accès à distance (RAT) ou d'un voleur capable d'exfilter des données sensibles, y compris les identifiants de navigateur, les clés SSH, les configurations de fournisseur de cloud et les pièces de cryptomoneda.

Lorsque les dépendances vous trahissent : la campagne de npm qui vole les lettres d'identité et les pièces de cryptomoneda
Image générée avec IA.

ReversingLabs a été l'une des signatures qui documentaient cette méthodologie et l'a baptisée dans son rapport dans le cadre de la campagne qu'ils suivent. Vous pouvez lire votre analyse technique en détail sur votre blog: ReversingLabs - npm faux log d'installation RAT. En parallèle, d'autres enquêtes publiques ont trouvé des modèles très similaires dans les dépôts GitHub qui agissent d'abord comme des projets inoffensifs et, après avoir acquis une certaine réputation, introduire des scripts d'installation malveillants qui déclenchent la chaîne d'infection. Menace de jamf Labs a publié une ventilation qui montre comment ces dépôts sont même basés sur des flux de travail orientés vers l'IA pour sembler légitimes: Jamf - GhostClaw & Ghost Analyse du chargeur.

Un aspect particulièrement inquiétant est la patience de l'attaquant: publier un code apparemment bénin, accumuler des "étoiles" et des activités pour renforcer la confiance, puis mettre à jour ou ajouter un README qui conduit à l'exécution d'un script sur l'équipe du développeur. Dans certains cas, l'installateur comprend une variable d'environnement qui permet d'alterner entre une interface d'installation complète - avec des barres de progression et des questions d'utilisateur - et un mode minimaliste qui ne recueille que des identifiants. Ce degré de sophistication montre que ce n'est pas des scripts improvisés, mais une opération planifiée pour maximiser la probabilité de tromperie.

Les morceaux malveillants vus dans les rapports ont suggéré des outils communs et SDKs: des utilitaires d'optimisation de React aux prétendus robots de négociation et utilitaires macOS, avec des noms qui ont cherché à profiter de la confiance ou de la pertinence thématique parmi les développeurs. Les victimes potentielles sont invitées à exécuter des commandes exigeant des privilèges élevés; ce moment est critique parce qu'il permet à la chaîne d'attaque de planter des composants avec des permis suffisants pour accéder aux données protégées et de persister dans la machine.

L'exfiltration de l'information révèle également l'ingéniosité opérationnelle : dans certains cas, les données volées sont envoyées aux robots Telegram associés à différents "partenaires" selon un identifiant de campagne, et la monétisation est complétée par des adresses de filiales stockées dans des contrats intelligents de Binance Smart Chain, afin que l'acteur malveillant puisse mettre à jour les routes et monétisation sans toucher le code malveillant distribué. Une analyse qui approfondit cette économie criminelle est apparue sur le blog de Panther: Panther - Menace fantôme: Campagne d'infostealer Ghost Loader.

Quelle leçon cela laisse-t-il à ceux qui travaillent avec Node.js, les dépôts de code et les workflows modernes ? La première est que la confiance par défaut dans la chaîne d'approvisionnement n'est plus sécurisée. Exécutez les scripts suggérés sur un README ou entrez sudo pour « optimiser le système » devrait immédiatement activer les alarmes. Au lieu de cela, il est approprié de vérifier exactement ce que les scripts d'installation (les scripts postinstall dans paquet.json) exécutent, de revoir l'activité et l'historique du mainteneur, et de préférer les outils qui n'ont pas besoin d'augmenter les privilèges système pour les installations globales. La documentation officielle de Node sur les gestionnaires de paquets et la recommandation d'utiliser les gestionnaires de versions comme nvm pour éviter les installations de sodo global est une ressource utile pour réduire la surface d'attaque: nvm (Gestionnaire de versions de nœuds) et les guides de Node.js sur les installations sûres sont de bons points de départ.

De plus, les équipes devraient renforcer le processus d'intégration d'unités avec des examens et contrôles automatisés : revoir les paquets qui exécutent des scripts post-installation, vérifier les changements dans les dépôts qui sont utilisés comme sources d'unités, et mettre en place des outils de sécurité de la chaîne d'approvisionnement tels que ceux qui proposent des initiatives communautaires et des plates-formes de code. GitHub Security Lab et OpenSSF proposent des guides et des ressources d'atténuation des risques dans les logiciels de la chaîne d'approvisionnement: Laboratoire de sécurité GitHub et OuvrirSSF.

Lorsque les dépendances vous trahissent : la campagne de npm qui vole les lettres d'identité et les pièces de cryptomoneda
Image générée avec IA.

Si vous pensez avoir été affecté, agissez prudemment : modifiez les mots de passe et les clés compromis, vérifiez les processus sortants et les connexions de la machine touchée, et si c'était un compte avec accès aux dépôts ou à l'infrastructure, cassez les identifiants et jetons. Signaler des paquets malveillants à l'équipe de sécurité de npm et aux plateformes où les dépôts ont été logés aide à couper la propagation; npm a des canaux pour signaler les abus et les vulnérabilités dans les paquets publiés.

En fin de compte, la campagne montre que les agresseurs adaptent leur tactique à l'écosystème de développement : ils combinent l'ingénierie sociale, l'abus de plates-formes légitimes telles que npm et GitHub, et les canaux de contrôle modernes tels que Telegram pour construire une chaîne complète d'attaques. La défense nécessite non seulement des outils automatiques, mais aussi une prudence et des processus clairs lors de l'installation de logiciels et l'octroi de privilèges. En restant informé et en appliquant des habitudes simples - ne pas exécuter des scripts à partir de sources non vérifiées, en évitant les dépendances inutiles et l'audit - réduit considérablement le risque de devenir la prochaine victime.

Pour élargir l'information technique et voir les résultats complets, examiner les rapports susmentionnés de ReversingLabs, Jamf et Panther, qui décontaminent les phases d'installation, de persistance et d'exfiltration de ces campagnes : ReversingLabs, Jambe et Panthère.

Couverture

Autres

Plus de nouvelles sur le même sujet.