A causa dell'aumento dei casi di acquisizione di repository di grandi progetti e diffusione di codice dannoso tramite il compromesso degli account degli sviluppatori, GitHub introduce la verifica avanzata degli account a livello globale. Inoltre, per i manutentori e gli amministratori dei 500 pacchetti NPM più popolari, a partire dall'inizio del prossimo anno, sarà implementata l'autenticazione a due fattori obbligatoria.
Dal 7 dicembre 2021 al 4 gennaio 2022 sarà effettuato il trasferimento di tutti i manutentori con diritto alla pubblicazione di pacchetti NPM che non utilizzano l'autenticazione a due fattori all'uso della verifica avanzata degli account. La verifica avanzata richiede l'inserimento di un codice temporaneo inviato via email durante il tentativo di accesso al sito npmjs.com o durante l'esecuzione di operazioni autenticabili nell'utility npm.
La verifica avanzata non sostituisce, ma si aggiunge all'autenticazione a due fattori precedentemente disponibile, che richiede conferma tramite password temporanee (TOTP). Quando l'autenticazione a due fattori è attivata, la verifica avanzata tramite email non viene applicata. A partire dal 1 febbraio 2022, inizierà il processo di trasferimento all'autenticazione a due fattori obbligatoria per i manutentori dei 100 pacchetti NPM più popolari con il maggior numero di dipendenze. Al termine della migrazione della prima centinaia, il cambiamento sarà esteso ai 500 pacchetti NPM più popolari per numero di dipendenze.
Oltre allo schema di autenticazione a due fattori attualmente disponibile basato su app per la generazione di password temporanee (Authy, Google Authenticator, FreeOTP, ecc.), ad aprile 2022 si prevede di aggiungere la possibilità di utilizzare chiavi hardware e scanner biometrici, che supportano il protocollo WebAuthn, e la possibilità di registrare e gestire diversi fattori di autenticazione aggiuntivi.
Ricordiamo che, secondo uno studio condotto nel 2020, solo il 9,27% dei manutentori di pacchetti utilizza l'autenticazione a due fattori per proteggere l'accesso, e nel 13,37% dei casi, durante la registrazione di nuovi account, gli sviluppatori hanno tentato di riutilizzare password compromesse già presenti in noti leak di password. Durante il controllo dell'affidabilità delle password utilizzate, è stato possibile accedere al 12% degli account in NPM (13% dei pacchetti) a causa dell'uso di password prevedibili e banali, come '123456'. Tra i problemi riscontrati ci sono state 4 account utenti tra i Top20 dei pacchetti più popolari, 13 account di pacchetti che venivano scaricati più di 50 milioni di volte al mese, 40 con oltre 10 milioni di download al mese e 282 con oltre 1 milione di download al mese. Considerando il caricamento dei moduli attraverso le dipendenze, la compromissione di account non affidabili potrebbe colpire fino al 52% di tutti i moduli in NPM.
Fonte: opennet.ru
