IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

PyPI : des paquets Python volent les clés AWS des utilisateurs et les envoient vers des sites non sécurisés et accessibles au public,
Selon un rapport

Le , par Bill Fassinou

12PARTAGES

6  0 
De multiples paquets Python malveillants disponibles sur le dépôt PyPI auraient été surpris en train de voler des informations sensibles comme les identifiants AWS et de les transmettre à des points d'extrémité exposés publiquement et accessibles à tous. Ces paquets ont été découverts par les chercheurs en sécurité de la société de cybersécurité Sonatype. Après un examen approfondi, les chercheurs ont identifié les paquets suivants comme étant malveillants : "loglib-modules", "pyg-modules", "pygrata", "pygrata-utils", "hkg-sol-utils".

PyPI est un dépôt de paquets open source que les développeurs de logiciels utilisent pour choisir les blocs de construction de leurs projets basés sur Python ou pour partager leur travail avec la communauté. Selon les analystes, bien que PyPI réagisse généralement rapidement aux signalements de paquets malveillants, il n'y a pas de véritable contrôle avant la soumission, de sorte que les paquets dangereux peuvent y rester pendant un certain temps. Les entreprises de sécurité de la chaîne d'approvisionnement des logiciels comme Sonatype utilisent des outils spécialisés de détection automatique des logiciels malveillants pour les repérer.

Analysés par les chercheurs en sécurité de Sonatype, Jorge Cardona et Carlos Fernández, certains de ces paquets contiennent du code qui lit et exfiltre vos secrets ou utilisent une des dépendances qui fera le travail. Selon les chercheurs, alors que les deux premiers paquets ("loglib-modules" et "pyg-modules" tentent d'imiter des projets légitimes et populaires sur le dépôt PyPI pour inciter les utilisateurs imprudents ou inexpérimentés à les installer et que les trois autres ("pygrata", "pygrata-utils" et "hkg-sol-utils" n'ont pas une cible apparente, les cinq paquets présentent des similitudes ou des connexions de code.



Les analystes ont constaté que les paquets "loglib-modules" et "pygrata-utils" ont été créés pour l'exfiltration de données, en récupérant les informations d'identification AWS (des instances Amazon EC2), les informations d'interface réseau et les variables d'environnement. Le rapport note qu'il est intéressant de noter que "pygrata" ne contient pas la fonctionnalité de vol de données en soi, mais nécessite "pygrata-utils" comme dépendance. Selon les chercheurs, bien que quatre des paquets malveillants aient été signalés et retirés immédiatement de PyPI, "pygrata" y est resté plus longtemps, même s'il ne pouvait pas faire grand-chose tout seul.

En outre, les informations d'identification volées ont-elles été exposées intentionnellement sur le Web ou sont-elles la conséquence de mauvaises pratiques de sécurité opérationnelle ? À ce stade, les analystes de Sonatype ont déclaré qu'ils ont contacté les propriétaires du domaine pour les informer de l'exposition publique et leur demander des explications. Peu de temps après, le point de terminaison a été protégé de l'accès public sans que Sonatype reçoive une réponse. Les analystes ont donc suggéré que cela signifie probablement que l'objectif de ces paquets et du domaine d'hébergement des données n'est pas légitime.

« L'utilisation du domaine PyGrata.com et les noms de certains des packages malveillants (pygrata-utils) n'étaient pas très clairs pour nous quant à leur objectif. Fait intéressant cependant, nos chercheurs ont remarqué que les terminaux collectant ces informations d'identification exposaient ces données à presque n'importe qui sur le Web. Monter un niveau de répertoire nous a montré des centaines de fichiers TXT contenant des informations sensibles et des secrets », indique le rapport. Il ajoute qu'il se peut que ces paquets aient été utilisés pour des tests de sécurité légitimes et que les auteurs n'ont jamais eu l'intention d'exploiter les données volées.

Comme ces paquets malveillants n'utilisent pas d'astuces de typosquattage, ils ne ciblent pas au hasard les développeurs qui ont fait une faute de frappe, mais les utilisateurs qui recherchent des outils spécifiques pour leurs projets. Par exemple, au début de ce mois, un rapport a révélé que les paquets PyPI "keep", "pyanxdns" et "api-res-py" ont inclus par erreur un voleur de mots de passe. Plus précisément, alors que la plupart des versions du projet "keep" utilisent le module Python légitime "requests", qui permet d'effectuer des requêtes HTTP, la version 1.2 du paquet "keep" utilise "request" (sans s) qui est un paquet malveillant.

Le problème viendrait d'une faute de frappe. L'auteur et mainteneur de "pyanxdns", Marky Egebäck, a confirmé qu'il s'agissait d'une erreur typographique et non d'une compromission de compte. En outre, selon les analystes, à première vue, il semble que les auteurs des deux autres paquets aient également introduit par inadvertance "request" au lieu du paquet légitime "requests", en raison d'une innocente erreur de frappe. « Désolé de dire qu'il s'agit d'une simple faute de frappe dans le fichier setup.py puisque l'historique git montre que cela a été ajouté lorsque "install_requires" a été ajouté par moi », a déclaré Egebäck.

Il a également expliqué qu'il n'avait pas consacré beaucoup de temps à la maintenance du projet ces derniers temps. « Cela aurait été beaucoup mieux de corriger ça plus tôt, mais je n'ai pas compris la gravité de la situation et, comme je consacre très peu de temps au codage, cela a pris beaucoup de temps », a déclaré Egebäck. En effet, lors du codage d'applications, d'innocentes fautes de frappe de la part du développeur peuvent, par inadvertance, donner lieu à des attaques de typosquattage qui comptent sur de telles erreurs pour compromettre la chaîne d'approvisionnement des logiciels.

Bien que dans ce cas, la dépendance malveillante "request" ait été retirée depuis longtemps du registre PyPI, les personnes utilisant une version vulnérable des paquets PyPI et s'appuyant sur un miroir pour récupérer les dépendances peuvent se retrouver avec des voleurs d'informations sur son système. Par ailleurs, plusieurs paquets npm ont été autosabotés par leurs propres auteurs ces derniers mois. Par exemple, en mars, un paquet npm compromis par l'auteur efface les fichiers sur les ordinateurs russes et biélorusses lors de l'installation. Le mainteneur du paquet a déclaré l'avoir fait pour protester contre l'invasion de l'Ukraine par la Russie.

Il est conseillé aux développeurs de logiciels d'aller au-delà des noms de paquets et d'examiner attentivement l'historique des versions, les dates de téléchargement, les liens vers les pages d'accueil, les descriptions des paquets et les nombres de téléchargements.

Source : Sonatype

Et vous ?

Quel est votre avis sur le sujet ?

Voir aussi

Le paquet PyPI "keep" aurait inclus par erreur un voleur de mots de passe, le mainteneur aurait involontairement introduit une dépendance malveillante par une faute de frappe

Un dev open source aurait volontairement corrompu des bibliothèques largement utilisées, affectant des tonnes de projets, il avait précédemment demandé à être rémunéré pour son travail

La bibliothèque npm populaire "coa" est détournée pour voler les mots de passe des utilisateurs, le paquet npm "rc" serait également compromis

Un paquet npm compromis par l'auteur efface les fichiers sur les ordinateurs russes et biélorusses lors de l'installation pour protester contre l'invasion de l'Ukraine par la Russie

Une erreur dans cette actualité ? Signalez-le nous !