
qui a répertorié quatre principaux modes opératoires
Selon sandworm.dev, Plus de la moitié de tous les nouveaux packages qui sont actuellement (29 mars 2023) soumis à npm sont des spams SEO, notamment des packages vides, avec un seul fichier README contenant des liens vers divers sites Web malveillants.
npm est désormais incontournable pour les développeurs JavaScript . Apparu avec node.js en 2009 son usage dépasse aujourd’hui l’environnement serveur. Il est de plus en plus utilisé pour des applications front et son usage comme outil de développement devient quasi systématique. De plus, il reste simple et permet d’accéder au plus gros dépôt de paquets tous langages confondus.
npm est le gestionnaire de paquets par défaut pour l'environnement d'exécution JavaScript Node.js. npm se compose d'un client en ligne de commande, également appelé npm, et d'une base de données en ligne de paquets publics et privés payants, appelée le registre npm. Le registre est accessible via le client, et les paquets disponibles peuvent être parcourus et recherchés via le site Web de npm. Le gestionnaire de paquets et le registre sont gérés par npm, Inc.
Le référencement est le processus permettant à votre site Web de se classer suffisamment haut dans les résultats de recherche. Une optimisation des moteurs de recherche (SEO) efficace peut conduire à plus d'impressions Web, ce qui entraîne des clics plus élevés et plus de prospects commerciaux. Toutefois, vos résultats de référencement durement gagnés peuvent être détournés par des pirates informatiques conduisant à ce que l'on appelle SEO Spam.
En général, le spam SEO (ou spamdexing) se produit lorsque des pirates implantent leurs liens à l'intérieur de votre site Web, blog, etc. Ils ciblent vos pages de premier rang et les infiltrent avec leurs liens sans que vous le sachiez. Ces liens de spam restent sur vos pages pendant longtemps et veulent que les visiteurs sans méfiance soient redirigés vers un site tiers qui n'est pas lié au site Web hôte. En 2019, un rapport indiquait que 73% de tous les sites GoDaddy ont été touchés par le spam SEO. Pour mémoire, GoDaddy est une entreprise américaine fondée en 1997 qui est spécialisée dans la gestion de noms de domaine sur Internet et la mise à disposition de services d'hébergement web. En 2010, la société gérait plus de 40 millions de noms de domaines.
Depuis, les techniques de spams CEO ont évolué.
D'ailleurs, sur les ~ 320 000 nouveaux packages ou versions npm que Sandworm a analysés au cours de la semaine dernière, au moins ~ 185 000 ont été étiquetés comme spam SEO. Sandworm va jusqu'à préciser : « Juste au cours de la dernière heure à compter de la rédaction de cet article, 1583 nouveaux paquets de spams de livres électroniques ont été publiés ».
La plupart des paquets de spams détectés par Sandworm proviennent d'un seul canal Telegram qui semble cibler les russophones. Les noms de packages sont définis pour correspondre aux recherches sur divers sujets sensibles, comme la guerre en Ukraine ou les décisions d'investissement prises par Gazprom. La description du package, cependant, indique ce qui suit*:
Oubliez à jamais les problèmes financiers : une nouvelle méthode de gain vous permettra de gagner des millions sans sortir de chez vous !
Les deuxièmes plus grands acteurs de spams SEO sur npm sont les publicités plus conventionnelles pour les livres et vidéos gratuits en ligne. Ceux-ci conduisent à des sites Web qui obligent l'utilisateur à effectuer une série de tâches pour obtenir un lien de téléchargement (inexistant), essentiellement en regardant et en interagissant avec les publicités. Les domaines utilisés dans les URL par ces paquets de spams changent beaucoup, ils sont donc plus difficiles à détecter.
Une nouvelle tendance se dessine dans les packages promettant des V-Bucks Fortnite gratuits. Ceux-ci conduisent généralement les utilisateurs sur des pages où ils sont amenés à penser qu'ils doivent vérifier qu'ils sont humains en effectuant une série de tâches (encore une fois, des publicités et des enquêtes).
npm est de plus en plus la cible d'attaques de cybercriminels ces dernières années
La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs
Jeudi 4 novembre 2021, à peine plus d'une semaine après le détournement de ua-parser-js, une autre bibliothèque npm populaire appelée coa (Command-Option-Argument), utilisée dans les paquets React du monde entier, a été détournée pour distribuer un malware voleur d'informations d'identification. Les développeurs ont remarqué que quelque chose n'allait pas lorsque de nouvelles versions étranges de coa sont apparues sur npm, brisant les constructions de logiciels. Le paquet coa recevrait environ 9 millions de téléchargements hebdomadaires sur npm, et serait utilisé par près de 5 millions de dépôts open source sur GitHub.
coa est un analyseur d'options en ligne de commande pour les projets Node.js. La dernière version stable 2.0.2 du projet a été publiée en décembre 2018. Cependant, plusieurs versions suspectes 2.0.3, 2.0.4, 2.1.1, 2.1.3 et 3.1.3 ont commencé à apparaître sur npm jeudi, brisant les constructions React qui dépendent de coa. « Je ne suis pas sûr de la raison ou de ce qui s'est passé, mais il y a 10 minutes, il y a eu une version (même si la dernière modification sur GitHub date de 2018). Quoi que cette version ait fait, elle a cassé Internet », a déclaré Roberto Wesley Overdijk, un développeur React.
Plusieurs développeurs ont rejoint la discussion, confirmant avoir rencontré des problèmes avec leurs constructions depuis que les nouvelles versions de coa ont fait leur apparition sur npm. Dans la même journée, il a été constaté qu'un autre composant npm couramment utilisé, rc, avait également été détourné. La bibliothèque rc est un chargeur de configuration et fait l'objet de 14 millions de téléchargements par semaine en moyenne. Selon les développeurs ayant signalé le détournement, les deux paquets auraient été compromis à peu près au même moment et résultent de l'accès des attaquants au compte d'un développeur de paquets.
Un projet Node.js sur deux audité par les outils de npm aurait au moins une vulnérabilité
La nuit du 11 au 12 juillet 2018, un hacker a accédé au compte npm d'un développeur et a injecté du code malveillant dans une bibliothèque JavaScript populaire, un code conçu pour voler les informations d'identification npm des utilisateurs qui utilisent le paquet infecté dans leurs projets.
Quelques mois avant, en mai, l’équipe a découvert une porte dérobée dans un paquet JavaScript populaire ; « getcookies », un paquet npm relativement récent (bibliothèque JavaScript) qui fonctionne avec les cookies du navigateur. L'équipe npm a analysé ce paquet et, dans ses rapports, a indiqué que getcookies contient un système complexe pour recevoir les commandes d'un attaquant distant qui pourrait cibler n'importe quelle application JavaScript qui a incorporé cette bibliothèque. La porte dérobée fonctionnait en analysant les requêtes HTTP request.headers fournies par l'utilisateur à la recherche de données spécifiquement formatées.
Selon l'équipe npm, la porte dérobée « permettait à un attaquant de saisir du code arbitraire sur un serveur en cours d'exécution et de l'exécuter ». Le module backdoor d'origine a été importé dans d'autres paquets. La bibliothèque getcookies était nouvelle et pas très populaire. L'équipe npm a expliqué qu'elle a découvert une chaîne de dépendances imbriquées à travers laquelle le paquet getcookies avait indirectement fait partie de la structure d'une bibliothèque très populaire appelée Mailparser.
Un mois plus tôt, venait la commande audit à la version 6 de la ligne de commande éponyme npm. Par la suite, les développeurs avaient la possibilité de taper npm audit à partir de la ligne de commande dans un répertoire de projet Node.js, générant une liste des vulnérabilités connues affectant les dépendances de paquets issues du code stocké dans le registre NPM.
Mieux encore, il suffirait de taper npm install (la commande pour remplir un projet Node.js avec les paquets déclarés dans le fichier package.json) pour lancer un audit de sécurité automatique.
[B][URL="https://javascript.developpez.com[/b]...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.