NPM repozitorij uključuje obaveznu dvofaktorsku autentifikaciju za račune koji održavaju 500 najpopularnijih NPM paketa. Kao kriterij popularnosti korišten je broj zavisnih paketa. Održavatelji navedenih paketa moći će izvoditi operacije povezane s izmjenama na repozitoriju samo nakon što omoguće dvofaktorsku autentifikaciju, koja zahtijeva potvrdu prijave pomoću jednokratnih lozinki (TOTP) koje generiraju aplikacije kao što su Authy, Google Authenticator i FreeOTP, ili hardverske ključeve i biometrijske skenere koji podržavaju WebAuth protokol.
Ovo je treća faza jačanja NPM-ove zaštite od kompromitacije računa. Prva faza uključivala je pretvaranje svih NPM računa koji nemaju omogućenu dvofaktorsku autentifikaciju za korištenje napredne verifikacije računa, koja zahtijeva unos jednokratnog koda poslanog e-poštom prilikom pokušaja prijave na npmjs.com ili izvođenja autentificirane operacije u npm-u korisnost. U drugoj fazi omogućena je obvezna dvofaktorska autentifikacija za 100 najpopularnijih paketa.
Prisjetimo se da je prema studiji provedenoj 2020. samo 9.27% održavatelja paketa koristilo dvofaktorsku autentifikaciju za zaštitu pristupa, a u 13.37% slučajeva, prilikom registracije novih računa, programeri su pokušali ponovno upotrijebiti ugrožene lozinke koje su se pojavile u poznatim curenje lozinki. Tijekom provjere sigurnosti lozinki, pristupilo se 12% NPM računa (13% paketa) zbog upotrebe predvidljivih i trivijalnih lozinki kao što je "123456." Među problematičnima su bila 4 korisnička računa iz Top 20 najpopularnijih paketa, 13 računa s paketima preuzetim više od 50 milijuna puta mjesečno, 40 s više od 10 milijuna preuzimanja mjesečno i 282 s više od milijun preuzimanja mjesečno. Uzimajući u obzir učitavanje modula duž lanca ovisnosti, kompromitacija nepouzdanih računa mogla bi utjecati na do 1% svih modula u NPM-u.
Izvor: opennet.ru