GitHub e PyPI introducono ritardi temporali per ridurre i rischi della catena di approvvigionamento
GitHub e il Python Package Index (PyPI) stanno aggiungendo misure di sicurezza basate sul tempo, progettate per limitare i danni causati da pacchetti dannosi appena pubblicati o modificati. Le modific...
GitHub e il Python Package Index (PyPI) stanno aggiungendo misure di sicurezza basate sul tempo, progettate per limitare i danni causati da pacchetti dannosi appena pubblicati o modificati. Le modifiche seguono una serie di incidenti nella catena di approvvigionamento che hanno colpito popolari ecosistemi open source, inclusi attacchi che hanno coinvolto progetti npm e PyPI.
Dependabot aggiunge un periodo di attesa di tre giorni
Il servizio di gestione delle dipendenze Dependabot di GitHub applica ora un periodo di attesa predefinito di 72 ore prima di proporre aggiornamenti per i pacchetti appena rilasciati. Il ritardo offre ai ricercatori di sicurezza, ai sistemi di scansione automatizzati e ai manutentori più tempo per identificare i rilasci sospetti prima che vengano integrati nei progetti tramite flussi di lavoro di aggiornamento automatici.
Gli attacchi recenti hanno dimostrato che i pacchetti dannosi possono essere pubblicati e scaricati rapidamente, mentre il rilevamento e la rimozione richiedono spesso più tempo. GitHub ha descritto il periodo di tre giorni come un compromesso tra la riduzione dell'esposizione a rilasci non sicuri e la possibilità per gli sviluppatori di ricevere aggiornamenti importanti senza ritardi eccessivi. Le organizzazioni possono modificare l'impostazione per utilizzare un periodo di attesa più breve o più lungo, in base alla propria tolleranza al rischio e ai processi di sviluppo.
GitHub ha inoltre avvertito che la funzionalità non è progettata per affrontare ogni forma di compromissione delle dipendenze. L'azienda raccomanda di combinare il ritardo con i lockfile, token di accesso con ambito limitato e la disabilitazione degli script non necessari per l'installazione dei pacchetti negli ambienti di integrazione continua.
PyPI limita le modifiche ai rilasci meno recenti
PyPI ha introdotto un controllo separato volto a impedire agli aggressori di manomettere versioni consolidate dei pacchetti. I manutentori non possono più caricare nuovi file in un rilascio dopo che sono trascorsi 14 giorni dalla sua pubblicazione.
La policy mira a ridurre il rischio di “avvelenamento del rilascio”, in cui un aggressore che ottiene accesso alle credenziali o al flusso di lavoro di pubblicazione di un manutentore aggiunge un file dannoso a una versione precedente di cui gli utenti si fidano già. PyPI ha dichiarato che i caricamenti legittimi effettuati oltre due settimane dopo la pubblicazione sono rari, consentendo alla restrizione di contrastare una potenziale modalità di attacco con interruzioni limitate.
PyPI ha dichiarato di non aver confermato che un attacco precedente abbia utilizzato questa tecnica specifica, presentando la modifica come una misura preventiva. Nel complesso, i controlli di GitHub e PyPI aggiungono tempo per la revisione e il rilevamento, ma gli sviluppatori dovranno comunque adottare misure di sicurezza multilivello, come dipendenze fissate a versioni specifiche, credenziali di pubblicazione protette e monitoraggio continuo.
