Des packages malveillants pratiquant le typosquatting sur le Python Package Index
Hayley Denbraver
5 décembre 2019
0 minutes de lectureDeux packages malveillants ont été supprimés du Python Package Index (PyPI) cette semaine. Ces packages, jeIlyfish (une faute d’orthographe du package jellyfish, visible uniquement avec certaines polices) et python3-dateutil (qui usurpait l’identité du célèbre package dateutil), exploitaient une technique appelée « typosquattage ». Le typosquattage consiste à publier un package malveillant sous un nom similaire à celui d’un package courant afin d’inciter les utilisateurs à télécharger la version malveillante.
Cet article résume les informations connues sur ces packages, présente les aspects positifs et négatifs de la situation et partage les enseignements à tirer de cet incident. Vous trouverez également plus d’informations dans notre base de données des vulnérabilités ici et ici.
Ce que l’on sait
L’exploit se trouve dans le package jeilyfish. Le package python3-dateutil utilise la bibliothèque jeilyfish comme dépendance indirecte. L’exploit n’est pas encore entièrement compris, mais il semble dérober les clés SSH et GPG des machines infectées et les envoyer à un serveur distant. Les deux packages ont été supprimés de PyPI.
Mauvaise nouvelle
La bibliothèque
jeilyfishétait présente sur PyPI depuis près d’un an.Comme la nature de l’exploit n’est pas entièrement comprise, il est difficile d’estimer son impact sur les personnes qui l’ont téléchargé.
Les deux packages malveillants comprenaient toutes les fonctionnalités des packages qu’ils usurpaient, ce qui permettait facilement de les prendre pour les bons packages.
Le typosquattage touche de nombreux gestionnaires de packages, et pas seulement PyPI, et ce problème risque de perdurer.
Bonne nouvelle
Le nombre de téléchargements des bibliothèques est relativement faible : quelques centaines de personnes pourraient avoir été compromises.
Le package
python3-dateutiln’était présent sur PyPI que depuis quelques jours.Les deux bibliothèques malveillantes ont été supprimées.
Il est facile de vérifier si votre projet est concerné par l’une ou l’autre de ces vulnérabilités. Snyk est gratuit et peut vous indiquer si votre projet est compromis.
Les enseignements à retenir
Soyez toujours prudent lorsque vous téléchargez des packages : vérifiez attentivement leur orthographe et ne devinez jamais leur nom.
Le typosquattage peut introduire des packages malveillants par le biais de dépendances indirectes, qui peuvent être difficiles à repérer.
Surveillez votre arborescence de dépendances. Il est important de savoir ce que vous utilisez pour repérer les problèmes dès qu’ils surviennent.
Les packages malveillants dans les dépôts open source populaires sont de plus en plus fréquents. Si vous pensez avoir repéré un package potentiellement malveillant, vous pouvez le signaler à Snyk conformément à notre politique de divulgation concernant les packages open source.
Commencez à sécuriser vos packages open source avec Snyk !
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis de capture du drapeau en regardant à la demande notre atelier virtuel d’initiation.