Federico Salis

GitHub e PyPI introducono difese basate sul tempo contro gli attacchi alla Supply Chain: Ecco cosa cambia per gli sviluppatori

IL PROBLEMA: Gli attacchi alla “Supply Chain” (catena di approvvigionamento del software) sono diventati una delle minacce più pericolose per sviluppatori e aziende. Gli hacker compromettono gli account dei manutentori su piattaforme come GitHub e PyPI per pubblicare istantaneamente versioni dannose di pacchetti popolari. La velocità di distribuzione di questi malware rende difficile bloccare l’infezione prima che migliaia di progetti scarichino l’aggiornamento compromesso.

Come proteggere i propri progetti: Guida passo-passo

Per rispondere a questa emergenza, i principali repository di codice stanno implementando meccanismi di difesa basati sul tempo, attestazioni di sicurezza e autenticazioni rigorose. Ecco come puoi adeguare i tuoi flussi di lavoro per evitare di rimanere vittima di pacchetti compromessi.

Livello Facile 🟢: Mantenere le dipendenze bloccate ed abilitare la 2FA

Il primo passo fondamentale richiede pochi minuti e riduce drasticamente l’esposizione ai rischi:

  • Attiva l’autenticazione a due fattori (2FA) andando su Impostazioni > Sicurezza dell’account sia su GitHub che su PyPI.
  • Utilizza sempre file di blocco delle dipendenze (come package-lock.json, Pipfile.lock o poetry.lock) nei tuoi progetti per evitare il download automatico di nuove versioni non verificate.
  • Verifica l’integrità dei pacchetti installati tramite hash prima di distribuire in produzione.

Livello Medio 🟡: Configurazione dei “Trusted Publishers” (OIDC)

Elimina l’uso di token API a lungo termine sui tuoi repository sostituendoli con l’autenticazione basata su OpenID Connect (OIDC). Questo sistema genera credenziali temporanee valide solo per la durata della build.

  • Accedi al tuo profilo su PyPI > Account settings > Publishing.
  • Aggiungi un nuovo Trusted Publisher collegando direttamente il tuo repository GitHub Actions.
  • Rimuovi tutti i vecchi token API memorizzati nei segreti del repository andando su Settings > Secrets and variables > Actions.

Livello Avanzato 🔴: Automazione degli Audit e Verifica delle Attestazioni CI/CD

Integra nei tuoi flussi di lavoro strumenti di controllo della vulnerabilità in grado di analizzare i pacchetti prima dell’installazione e verificare l’origine del codice tramite attestazioni crittografiche.

Per verificare le attestazioni di build direttamente via terminale tramite GitHub CLI, esegui:

gh attestation verify nome-file.tar.gz --owner nome-utente

Per scansionare i pacchetti Python alla ricerca di vulnerabilità note nella supply chain prima dell’impiego, utilizza pip-audit:

pip install pip-audit
pip-audit
SOLUZIONE DEFINITIVA: GitHub e PyPI hanno introdotto contromisure strutturali basate sul tempo e sull’identità. La combinazione obbligatoria dell’autenticazione 2FA, l’adozione dei Trusted Publishers (OIDC) e l’introduzione delle attestazioni di compilazione (Build Attestations) firmate digitalmente garantisce che un pacchetto rilasciato provenga esattamente dal codice sorgente dichiarato e dall’autore autorizzato, bloccando le finestre temporali di attacco immediato da parte di script malevoli automatizzati.

Non perdere nemmeno un’offerta!

Unisciti al canale Telegram esclusivo per ricevere in tempo reale errori di prezzo,
coupon limitati e le migliori offerte scovate per te 24h/7.

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *