I responsabili del Python Package Index (PyPI) hanno annunciato una nuova funzionalità che consente agli sviluppatori di pacchetti di archiviare un progetto come parte degli sforzi per migliorare la sicurezza della supply chain.
PyPI e la sua nuova funzione introdotta
“I responsabili dei progetti ora possono archiviare un progetto per far sapere agli utenti che non ci si aspetta che il progetto riceva ulteriori aggiornamenti“, ha dichiarato Facundo Tuesca, ingegnere senior di Trail of Bits.
Con questa funzione, l’idea è quella di segnalare chiaramente agli sviluppatori che le librerie Python non sono più attivamente mantenute e che non dovrebbero essere previsti futuri aggiornamenti di sicurezza o del prodotto.
Detto ciò, i progetti etichettati come archiviati continueranno a rimanere disponibili su PyPI e gli utenti potranno continuare a installarli senza alcun problema.
In un post separato sul blog che dettaglia la funzionalità, Tuesca ha dichiarato che i responsabili del progetto stanno considerando ulteriori stati controllati dal manutentore per comunicare meglio lo stato di un progetto ai consumatori successivi.
PyPI consiglia anche che gli sviluppatori di pacchetti rilascino una versione finale prima dell’archiviazione, aggiornando la descrizione del progetto per avvisare gli utenti e includere alternative come sostituti.
Questo sviluppo arriva poco dopo che PyPI ha introdotto la possibilità di mettere in quarantena i progetti, permettendo agli amministratori di segnare un progetto come potenzialmente sospetto e impedirne l’installazione da parte di altri utenti per evitare ulteriori danni.
I progetti Python messi da parte (o in “quarantena”)
Nel novembre 2024, gli amministratori di PyPI hanno messo in quarantena la libreria Python aiocpa dopo che è stato trovato un aggiornamento contenente un codice maligno progettato per esfiltrare le chiavi private tramite Telegram.
Dal mese di agosto dello scorso anno, circa 140 progetti sono stati messi in quarantena e successivamente rimossi dal registro, ad eccezione di uno.
“Avere questa fase intermedia consente agli amministratori di PyPI di garantire una maggiore sicurezza per gli utenti finali, proteggendo gli utenti finali più rapidamente rimuovendo un pacchetto sospetto dall’installazione, mentre si consente una maggiore indagine“, ha dichiarato Mike Fiedler, amministratore di PyPI.
Fiedler ha infine così concluso: “Poiché la rimozione di un progetto da PyPI è un’azione distruttiva, creare uno stato di quarantena consente di ripristinare un progetto se ritenuto un falso positivo, senza distruggere la cronologia o i metadati del progetto.”