Un analyseur a été publié, révélant 200 paquets malveillants dans NPM et PyPI.

Le fonds OpenSSF (Open Source Security Foundation), formé par l'organisation Linux Foundation et visant à renforcer la sécurité des logiciels open source, a présenté le projet ouvert Package Analysis, qui développe un système d'analyse de la présence de code malveillant dans les paquets. Le code du projet est écrit en Go et est distribué sous la licence Apache 2.0. Une analyse préliminaire des dépôts NPM et PyPI à l'aide des outils proposés a permis d'identifier plus de 200 paquets malveillants auparavant non détectés.

La plupart des problèmes identifiés dans les paquets manipulent le chevauchement des noms avec des dépendances internes non publiques des projets (attaque de confusion de dépendance) ou utilisent des méthodes de typesquatting (assignation de noms similaires à des bibliothèques populaires), et déclenchent également des scripts durant l'installation qui se connectent à des hôtes externes. Selon les développeurs de Package Analysis, la majorité des paquets problématiques identifiés ont probablement été créés par des chercheurs en sécurité participant à des programmes de récompense pour la découverte de vulnérabilités (bug bounty), car les données envoyées se limitent au nom d'utilisateur et au système, et les actions sont clairement exprimées, sans tenter de dissimuler leur comportement.

Parmi les paquets avec une activité malveillante, on note :

  • Le paquet PyPI discordcmd, qui a enregistré l'envoi de requêtes atypiques vers raw.githubusercontent.com, l'API Discord et ipinfo.io. Ce paquet téléchargeait du code de porte dérobée depuis GitHub et l'installait dans le répertoire du client Windows de Discord, puis lançait un processus de recherche de tokens Discord dans le système de fichiers et les envoyait vers un serveur Discord externe contrôlé par les attaquants.
  • Le paquet NPM colorsss, qui tentait également d'envoyer à l'extérieur serveur les tokens du compte Discord.
  • Le paquet NPM @roku-web-core/ajax – au cours de l'installation, il envoyait des données sur le système et lançait un gestionnaire (reverse shell) acceptant des connexions externes et exécutant des commandes.
  • Le paquet PyPI secrevthree – lançait un reverse shell lors de l'importation d'un certain module.
  • Le paquet NPM random-vouchercode-generator – après l'importation de la bibliothèque, il envoyait une requête à un serveur externe, qui renvoyait une commande et le moment où elle devait être exécutée.

Le travail d'Analyse de Paquets consiste à analyser les textes sources des paquets de code pour établir des connexions réseau, accéder à des fichiers et exécuter des commandes. De plus, il suit l'évolution de l'état des paquets pour déterminer l'ajout d'inserts malveillants dans une version d'un logiciel initialement inoffensif. Pour surveiller l'apparition de nouveaux paquets dans les dépôts et apporter des modifications aux paquets déjà publiés, on utilise l'outil Package Feeds, qui uniformise le travail avec les dépôts NPM, PyPI, Go, RubyGems, Packagist, NuGet et Crate.

L'Analyse de Paquets comprend trois composants de base, qui peuvent être utilisés ensemble ou séparément :

  • Un planificateur qui lance des analyses de paquets en fonction des données provenant de Package Feeds.
  • Un analyseur qui vérifie directement le paquet et évalue son comportement en utilisant des méthodes d'analyse statique et de traçage dynamique. La vérification s'effectue dans un environnement isolé.
  • Un téléchargeur qui place les résultats de l'analyse dans le stockage BigQuery.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster