Agrandir / Les attaques de la chaîne d’approvisionnement, comme la dernière découverte de PyPi, insèrent du code malveillant dans des packages logiciels apparemment fonctionnels utilisés par les développeurs. Ils deviennent de plus en plus fréquents.
Getty Images
Les chercheurs ont découvert un autre ensemble de packages malveillants dans PyPi, le référentiel officiel et le plus populaire pour les programmes Python et les bibliothèques de code. Ceux qui sont dupés par les packages apparemment familiers pourraient être sujets à des téléchargements de logiciels malveillants ou au vol d’informations d’identification et de mots de passe utilisateur.
Check Point Research, qui a rendu compte de ses conclusions lundi, a écrit qu’il ne savait pas combien de personnes avaient téléchargé les 10 packages, mais il a noté que PyPi compte 613 000 utilisateurs actifs et que son code est utilisé dans plus de 390 000 projets. L’installation à partir de PyPi via la commande pip est une étape fondamentale pour démarrer ou configurer de nombreux projets Python. PePy, un site qui estime les téléchargements de projets Python, suggère que la plupart des packages malveillants ont vu des centaines de téléchargements.
De telles attaques de la chaîne d’approvisionnement deviennent de plus en plus courantes, en particulier parmi les référentiels de logiciels open source qui prennent en charge une large bande de logiciels dans le monde. Le référentiel de Python est une cible fréquente, les chercheurs ayant découvert des packages malveillants en septembre 2017 ; juin, juillet et novembre 2021 ; et juin de cette année. Mais des packages astucieux ont également été trouvés dans RubyGems en 2020, NPM en décembre 2021 et dans de nombreux autres référentiels open source.
Plus particulièrement, une attaque de la chaîne d’approvisionnement de source privée par des pirates russes via le logiciel commercial SolarWinds a fait des ravages notables, entraînant l’infection de plus de 100 entreprises et d’au moins neuf agences fédérales américaines, dont la National Nuclear Security Administration, l’Internal Revenue Service, le Département d’État et le Département de la sécurité intérieure.
Publicité
La découverte de plus en plus courante de faux packages malveillants pousse les référentiels à agir. Pas plus tard qu’hier, GitHub, propriétaire du référentiel NPM pour les packages JavaScript, a ouvert une demande de commentaires sur l’offre d’un système opt-in permettant aux développeurs de packages de signer et de vérifier leurs packages. En utilisant Sigstore, une collaboration entre de nombreux groupes open source et industriels, les développeurs NPM peuvent signer des packages, signalant que le code qu’ils contiennent correspond à leur référentiel d’origine.
Avoir une indication claire que le paquet que vous téléchargez est lié au code dont vous avez besoin aurait peut-être aidé les gens à éviter les mauvais acteurs PyPi les plus récemment découverts, mais peut-être pas entièrement. “Ascii2text” a directement copié presque tous les aspects de la bibliothèque d’art ASCII “art”, moins les détails de la version. Pour peut-être près de 1 000 téléchargeurs, son nom descriptif aurait pu suggérer un objectif plus défini que “l’art”.
L’installation d’ascii2text a déclenché le téléchargement d’un script malveillant, qui a ensuite recherché dans le stockage local d’Opera, Chrome et d’autres navigateurs des jetons, des mots de passe ou des cookies, ainsi que certains portefeuilles cryptographiques, et les a envoyés à un serveur Discord.
Agrandir / Le script malveillant à l’intérieur du package Python asciii2text trompeur, tel qu’il a été découvert par Check Point Software.
D’autres packages découverts par Check Point ciblaient AWS et d’autres informations d’identification et variables d’environnement. Voici la liste des packages PyPi signalés et supprimés depuis :
- ascii2text
- pyg-utils
- pymocks
- PyProto2
- test-asynchrone
- free-net-vpn
- free-net-vpn2
- zlibsrc
- navigateurdiv
- WINRPCexploit