Packj - une boîte à outils pour identifier les bibliothèques malveillantes en Python et JavaScript

Les développeurs de la plateforme Packj, qui analyse la sécurité des bibliothèques, ont publié une boîte à outils ouverte en ligne de commande qui leur permet d'identifier les structures à risque dans les packages pouvant être associées à la mise en œuvre d'activités malveillantes ou à la présence de vulnérabilités utilisées pour mener des attaques. sur les projets utilisant les packages concernés (« supply chain »). La vérification des packages est prise en charge dans les langages Python et JavaScript, hébergés dans les répertoires PyPi et NPM (ils prévoient également d'ajouter la prise en charge de Ruby et RubyGems ce mois-ci). Le code de la boîte à outils est écrit en Python et distribué sous la licence AGPLv3.

Lors de l'analyse de 330 42 packages à l'aide des outils proposés dans le référentiel PyPi, 2.4 packages malveillants avec portes dérobées et 651 XNUMX packages à risque ont été identifiés. Lors de l'inspection, une analyse statique du code est effectuée pour identifier les fonctionnalités de l'API et évaluer la présence de vulnérabilités connues notées dans la base de données OSV. Le package MalOSS est utilisé pour analyser l'API. Le code du package est analysé pour détecter la présence de modèles typiques couramment utilisés dans les logiciels malveillants. Les modèles ont été préparés sur la base d’une étude de XNUMX paquets présentant une activité malveillante confirmée.

Il identifie également les attributs et les métadonnées qui conduisent à un risque accru d'utilisation abusive, comme l'exécution de blocs via « eval » ou « exec », la génération de nouveau code au moment de l'exécution, l'utilisation de techniques de code obscurci, la manipulation de variables d'environnement, l'accès non ciblé aux fichiers, accéder aux ressources réseau dans les scripts d'installation (setup.py), utiliser le typequatting (attribuer des noms similaires aux noms de bibliothèques populaires), identifier les projets obsolètes et abandonnés, spécifier des e-mails et des sites Web inexistants, l'absence de référentiel public avec du code.

De plus, on peut noter l'identification par d'autres chercheurs en sécurité de cinq packages malveillants dans le référentiel PyPi, qui envoyaient le contenu des variables d'environnement à un serveur externe dans l'espoir de voler des jetons pour AWS et les systèmes d'intégration continue : loglib-modules (présentés comme modules pour la bibliothèque loglib légitime), pyg-modules , pygrata et pygrata-utils (présentés comme des ajouts à la bibliothèque pyg légitime) et hkg-sol-utils.

Packj - une boîte à outils pour identifier les bibliothèques malveillantes en Python et JavaScript


Source: opennet.ru

Ajouter un commentaire