Il Python Package Index (PyPI) ha temporaneamente sospeso la registrazione degli utenti e la creazione di nuovi progetti. Ciò per tentare di bloccare una campagna malware in corso. PyPI è un indice per progetti Python che aiuta gli sviluppatori a trovare e installare pacchetti Python. Con migliaia di pacchetti disponibili, il repository è un obiettivo attraente per gli autori delle minacce. Quest’ultimi caricano spesso pacchetti falsi o contenenti errori di battitura per compromettere gli sviluppatori di software ed effettuare potenziali attacchi alla catena di fornitura. Tale attività ha costretto gli amministratori PyPI ad annunciare che tutte le nuove registrazioni sono state sospese per consentire di mitigare le attività dannose.
PyPl: come avviene l’attacco della campagna malware
Secondo un report di Checkmarx, gli autori delle minacce hanno iniziato a caricare su PyPI 365 pacchetti con nomi che imitano progetti legittimi. I pacchetti includono codice dannoso all'interno del file "setup.py". Questo viene eseguito al momento dell'installazione, tentando di recuperare un carico utile aggiuntivo da un server remoto. Per eludere il rilevamento, il codice dannoso viene crittografato utilizzando il modulo Fernet e l'URL della risorsa remota viene costruito dinamicamente quando necessario. Il payload è un info-stealer con funzionalità di persistenza che prende di mira i dati archiviati nei browser, come password, cookie e estensioni di criptovaluta. Nel suo report, Checkmarx mostra l'elenco completo delle voci dannose trovate, che contiene numerose varianti di typosquatting per molti pacchetti legittimi.
Un altro report, pubblicato Check Point, indica che l'elenco dei pacchetti dannosi supera i 500 e sono stati distribuiti in due fasi. Ogni pacchetto ha avuto origine da account di manutenzione unici con nomi ed e-mail distinti. Come spiega Check Point: “In particolare, ciascun account del manutentore ha caricato un solo pacchetto, indicando l'utilizzo dell'automazione nell'orchestrazione dell'attacco”. I ricercatori affermano che tutte le voci avevano lo stesso numero di versione, contenevano lo stesso codice dannoso e i nomi sembrano generati attraverso un processo di randomizzazione. Questo incidente mostra quanto sia importante per gli sviluppatori di software e i manutentori dei pacchetti utilizzare repository open source per verificare l'autenticità e la sicurezza dei componenti che utilizzano nei progetti. Questa non è la prima volta che PyPI adotta misure così aggressive per salvaguardare la propria community da invii dannosi. I manutentori del repository hanno intrapreso la stessa azione a maggio 2023.