Logo Zéphyrnet

Les nouveaux outils de JFrog signalent les packages JavaScript malveillants

Date :

La société de sécurité DevOps JFrog a publié trois outils de sécurité open source en réponse à des problèmes récents avec npm pour aider les développeurs JavaScript à détecter et empêcher l'installation de packages problématiques.

Les attaques contre la chaîne d'approvisionnement logicielle deviennent un problème majeur dans l'écosystème des logiciels open source, les attaquants infiltrant des voleurs d'informations, des enregistreurs de frappe et d'autres types de logiciels malveillants dans les gestionnaires de packages et les référentiels tels que npm, RubyGems et PyPi. Dans de nombreux cas, les packages contenant le code malveillant portent des noms similaires à des packages légitimes et bien connus. Dans d’autres cas, les colis eux-mêmes ont été falsifiés. La semaine dernière, le responsable de deux bibliothèques JavaScript largement utilisées a intentionnellement corrompu couleurs.js ainsi que faux.js, provoquant des problèmes avec des dizaines de milliers d'applications JavaScript reposant sur ces packages.

« Le dernier incident npm n'est qu'un autre exemple d'une série de vulnérabilités récentes de logiciels open source découvertes, susceptibles de causer des dégâts majeurs aux systèmes d'entreprise du monde entier », déclare Ilya Khivrich, directeur principal des technologies avancées et de la recherche en sécurité chez JFrog. "C'est un bon rappel que même les référentiels de logiciels que nous pensons fiables peuvent être facilement détruits en une seule journée - et nous devons donc toujours pratiquer une bonne cyber-hygiène."

Les nouveaux outils - package_checker pour vérifier si une version spécifique d'un package peut être fiable, npm-secure-installer pour bloquer les paquets manquant le npm-shrinkwrap-lock.json fichier, et package_issues_history pour surveiller les packages pour les mises à jour problématiques - sont disponible sur GitHub.

package_checker peut être utilisé « pour tester activement les nouvelles versions des packages utilisés avant de décider de mettre à jour la dépendance, ou par les organisations pour surveiller toutes les nouvelles versions des packages utilisés en interne », indique la société. L'outil recherche des indices selon lesquels le package a été utilisé dans des attaques de la chaîne d'approvisionnement et identifie les risques potentiels liés aux nouvelles versions. Les signes indiquant que la version du package ne doit pas être fiable incluent un « écart important » dans les numéros de version, une mise à jour pour un package qui n'a pas été maintenu depuis longtemps, des écarts entre la version dans npm et dans le référentiel GitHub, et comment récemment, la version a été publiée.

À la place d'utiliser npm installer (installateur officiel) pour installer globalement les packages, les développeurs peuvent utiliser le wrapper npm-secure-installer pour ajouter de la sécurité au processus d'installation. film rétractable npm est un mécanisme intégré similaire à packages-lock.json, qui verrouille les versions des packages requis et leurs descendants pour un package publié. Cela signifie que les versions précises de toutes les dépendances sont gelées, atténuant ainsi le risque d'utiliser un composant logiciel défectueux récemment mis à jour. L'outil wrapper recherche le fichier de verrouillage du package et, s'il est manquant, refuse d'installer le package.

Une remarque sur l'utilisation npm-secure-installer: il fait preuve de prudence en imposant une exigence (avoir le fichier de verrouillage rétractable) à laquelle même certains packages légitimes ne répondent pas, explique Khivrich.

package_issues_history est un « outil expérimental » qui tente de déterminer si une nouvelle version du package inclut du code problématique. L'outil suit les problèmes GitHub du package dans les jours suivant la publication d'une version pour voir si des problèmes ont été signalés. Le développeur détermine si les problèmes sont problématiques ou non. "Pour une bibliothèque suffisamment populaire, le nombre de projets dépendants peut être suffisamment grand pour que les numéros excédentaires résultant d'un changement radical soient significatifs par rapport aux problèmes 'de fond' qui ne sont pas liés au changement", explique la société.

L'outil est davantage destiné aux chercheurs essayant de détecter les premiers signes de problèmes plutôt qu'à une étape concrète dans le flux de travail des développeurs, explique Khivrich.

Tandis que package_checker ainsi que package_issues_history Si les versions de paquet semblent suspectes, elles peuvent manquer d'autres indicateurs qui n'ont pas été pris en compte ou signaler par erreur des versions inoffensives, explique Khivrich. Il n’existe pas de méthode parfaite pour distinguer les packages malveillants ou corrompus des packages légitimes. La protection contre les problèmes de chaîne d’approvisionnement est donc un « défi permanent à l’échelle du secteur qui nécessite plusieurs niveaux de protection différents », explique-t-il.

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?