De multiples paquets Python malveillants disponibles sur le dpt PyPI auraient t surpris en train de voler des informations sensibles comme les identifiants AWS et de les transmettre des points d’extrmit exposs publiquement et accessibles tous. Ces paquets ont t dcouverts par les chercheurs en scurit de la socit de cyberscurit Sonatype. Aprs 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 dpt de paquets open source que les dveloppeurs de logiciels utilisent pour choisir les blocs de construction de leurs projets bass sur Python ou pour partager leur travail avec la communaut. Selon les analystes, bien que PyPI ragisse gnralement rapidement aux signalements de paquets malveillants, il n’y a pas de vritable contrle avant la soumission, de sorte que les paquets dangereux peuvent y rester pendant un certain temps. Les entreprises de scurit de la chane d’approvisionnement des logiciels comme Sonatype utilisent des outils spcialiss de dtection automatique des logiciels malveillants pour les reprer.
Analyss par les chercheurs en scurit de Sonatype, Jorge Cardona et Carlos Fernndez, certains de ces paquets contiennent du code qui lit et exfiltre vos secrets ou utilisent une des dpendances qui fera le travail. Selon les chercheurs, alors que les deux premiers paquets (« loglib-modules » et « pyg-modules ») tentent d’imiter des projets lgitimes et populaires sur le dpt PyPI pour inciter les utilisateurs imprudents ou inexpriments les installer et que les trois autres (« pygrata », « pygrata-utils » et « hkg-sol-utils ») n’ont pas une cible apparente, les cinq paquets prsentent des similitudes ou des connexions de code.
Les analystes ont constat que les paquets « loglib-modules » et « pygrata-utils » ont t crs pour l’exfiltration de donnes, en rcuprant les informations d’identification AWS (des instances Amazon EC2), les informations d’interface rseau et les variables d’environnement. Le rapport note qu’il est intressant de noter que « pygrata » ne contient pas la fonctionnalit de vol de donnes en soi, mais ncessite « pygrata-utils » comme dpendance. Selon les chercheurs, bien que quatre des paquets malveillants aient t signals et retirs immdiatement de PyPI, « pygrata » y est rest plus longtemps, mme s’il ne pouvait pas faire grand-chose tout seul.
En outre, les informations d’identification voles ont-elles t exposes intentionnellement sur le Web ou sont-elles la consquence de mauvaises pratiques de scurit oprationnelle ? ce stade, les analystes de Sonatype ont dclar qu’ils ont contact les propritaires du domaine pour les informer de l’exposition publique et leur demander des explications. Peu de temps aprs, le point de terminaison a t protg de l’accs public sans que Sonatype reoive une rponse. Les analystes ont donc suggr que cela signifie probablement que l’objectif de ces paquets et du domaine d’hbergement des donnes n’est pas lgitime.
L’utilisation du domaine PyGrata.com et les noms de certains des packages malveillants (pygrata-utils) n’taient pas trs clairs pour nous quant leur objectif. Fait intressant cependant, nos chercheurs ont remarqu que les terminaux collectant ces informations d’identification exposaient ces donnes presque n’importe qui sur le Web. Monter un niveau de rpertoire 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 utiliss pour des tests de scurit lgitimes et que les auteurs n’ont jamais eu l’intention d’exploiter les donnes voles.
Comme ces paquets malveillants n’utilisent pas d’astuces de typosquattage, ils ne ciblent pas au hasard les dveloppeurs qui ont fait une faute de frappe, mais les utilisateurs qui recherchent des outils spcifiques pour leurs projets. Par exemple, au dbut de ce mois, un rapport a rvl que les paquets PyPI « keep », « pyanxdns » et « api-res-py » ont inclus par erreur un voleur de mots de passe. Plus prcisment, alors que la plupart des versions du projet « keep » utilisent le module Python lgitime « requests », qui permet d’effectuer des requtes HTTP, la version 1.2 du paquet « keep » utilise « request » (sans s) qui est un paquet malveillant.
Le problme viendrait d’une faute de frappe. L’auteur et mainteneur de « pyanxdns », Marky Egebck, a confirm qu’il s’agissait d’une erreur typographique et non d’une compromission de compte. En outre, selon les analystes, premire vue, il semble que les auteurs des deux autres paquets aient galement introduit par inadvertance « request » au lieu du paquet lgitime « requests », en raison d’une innocente erreur de frappe. Dsol 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 dclar Egebck.
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 tt, mais je n’ai pas compris la gravit de la situation et, comme je consacre trs peu de temps au codage, cela a pris beaucoup de temps , a dclar Egebck. En effet, lors du codage d’applications, d’innocentes fautes de frappe de la part du dveloppeur peuvent, par inadvertance, donner lieu des attaques de typosquattage qui comptent sur de telles erreurs pour compromettre la chane d’approvisionnement des logiciels.
Bien que dans ce cas, la dpendance malveillante « request » ait t retire depuis longtemps du registre PyPI, les personnes utilisant une version vulnrable des paquets PyPI et s’appuyant sur un miroir pour rcuprer les dpendances peuvent se retrouver avec des voleurs d’informations sur son systme. Par ailleurs, plusieurs paquets npm ont t autosabots 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 bilorusses lors de l’installation. Le mainteneur du paquet a dclar l’avoir fait pour protester contre l’invasion de l’Ukraine par la Russie.
Il est conseill aux dveloppeurs de logiciels d’aller au-del des noms de paquets et d’examiner attentivement l’historique des versions, les dates de tlchargement, les liens vers les pages d’accueil, les descriptions des paquets et les nombres de tlchargements.
Source : Sonatype
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi