ESET Forskningen avdekket en klynge av ondsinnede Python-prosjekter distribuert via PyPI, det offisielle Python (programmeringsspråk)-pakkelageret. Trusselen retter seg mot både Windows- og Linux-systemer og gir vanligvis en tilpasset bakdør med cyberspionasjemuligheter. Den tillater ekstern kjøring av kommandoer og fileksfiltrering, og inkluderer noen ganger muligheten til å ta skjermbilder. I noen tilfeller er den endelige nyttelasten en variant av den beryktede W4SP Stealer, som stjeler personlige data og legitimasjon, eller en enkel utklippstavlemonitor for å stjele kryptovaluta, eller begge deler. ESET oppdaget 116 filer (kildedistribusjoner og hjul) i 53 prosjekter som inneholder skadelig programvare. I løpet av det siste året har ofre lastet ned disse filene mer enn 10 000 ganger. Fra mai 2023 og utover var nedlastingshastigheten rundt 80 per dag.
PyPI er populær blant Python-programmerere for deling og nedlasting av kode. Siden hvem som helst kan bidra til depotet, kan skadevare dukke opp, som noen ganger presenterer seg som legitime og populære kodebiblioteker. «Noen ondsinnede pakkenavn ligner på andre legitime pakker, men vi tror at hovedmåten de installeres av potensielle ofre ikke er gjennom skrivefeil, men gjennom sosial manipulering, hvor de blir guidet gjennom å utføre pip for å installere en «interessant» pakke for noen grunn», sier ESET-forsker Marc-Étienne Léveillé, som oppdaget og analyserte de ondsinnede pakkene.
De fleste pakkene var allerede fjernet fra PyPI da denne forskningen ble publisert. ESET har kommunisert med PyPI for å iverksette tiltak mot de som blir igjen; for øyeblikket er alle kjente skadelige pakker offline.
ESET observerte operatørene bak denne kampanjen ved å bruke tre teknikker for å pakke ondsinnet kode inn i Python-pakker. Den første teknikken er å sette inn en «test»-modul med litt uklar kode inne i pakken. Den andre teknikken er å bygge inn PowerShell-kode i setup.py-filen, som vanligvis kjøres automatisk av pakkebehandlere som pip for å hjelpe med å installere Python-prosjekter. I den tredje teknikken gjør operatørene ingen anstrengelser for å inkludere legitim kode i pakken, slik at bare den skadelige koden er til stede, i en litt uklar form.
Vanligvis er den endelige nyttelasten en tilpasset bakdør som er i stand til å utføre eksterne kommandoer, trekke ut filer og noen ganger ta skjermbilder. På Windows er bakdøren implementert i Python. På Linux er bakdøren implementert i programmeringsspråket Go. I noen tilfeller brukes en variant av den beryktede W4SP Stealer i stedet for bakdøren, eller en enkel utklippstavlemonitor brukes til å stjele kryptovaluta, eller begge deler. Utklippstavlemonitoren retter seg mot kryptovalutaene Bitcoin, Ethereum, Monero og Litecoin.
«Python-utviklere bør se gjennom koden de laster ned før de installerer den på systemene sine. Vi forventer at slik misbruk av PyPI fortsetter og råder til forsiktighet når du installerer kode fra et offentlig programvarelager, avslutter Léveillé.
«Ond alkoholelsker. Twitter-narkoman. Fremtidig tenåringsidol. Leser. Matelsker. Introvert. Kaffeevangelist. Typisk baconentusiast.»