В хранилището на NPM е внедрена задължителна двуфакторна автентикация за акаунтите на поддръжката на 500-те най-популярни NPM пакета. Критерият за популярност е броят на зависимите пакети. Поддръжниците на включените в списъка пакети ще могат да извършват операции, свързани с промени в хранилището, само след активиране на двуфакторна автентикация, изискваща потвърждение на входа с еднократни пароли (TOTP), генерирани от приложения като Authy, Google Authenticator и FreeOTP, или с помощта на хардуерни ключове и биометрични скенери, които поддържат протокола WebAuth.
Това е третият етап от засилването на защитата на NPM срещу компрометиране на акаунти. На първия етап всички акаунти на NPM, за които не е активирана двуфакторна автентикация, бяха пренасочени към използване на разширена верификация на акаунти, изискваща въвеждане на еднократен код, изпратен на имейл при опит за вход на сайта npmjs.com или при извършване на автентикирана операция в утилитата npm. На втория етап задължителната двуфакторна автентикация беше активирана за 100-те най-популярни пакета.
Напомняме, че съгласно проведеното през 2020 година проучване, само 9.27% от поддръжниците на пакети са използвали двуфакторна автентикация за защита на достъпа, а в 13.37% от случаите при регистрация на нови акаунти разработчиците се опитвали да преизползват компрометирани пароли, които присъстват в известни изтичания на пароли. В процеса на проверка на надеждността на използваните пароли успяхме да получим достъп до 12% от акаунтите в NPM (13% от пакетите) поради използването на предсказуеми и тривиални пароли, като „123456“. Сред проблемните се оказаха 4 акаунта от Top20 на най-популярните пакети, 13 акаунта, пакетите на които се изтеглят повече от 50 млн. пъти на месец, 40 — повече от 10 млн. изтегляния на месец и 282 с над 1 млн. изтегляния на месец. Като се вземе предвид изтеглянето на модули по веригата на зависимостите, компрометирането на ненадеждни акаунти можеше да засегне до 52% от всички модули в NPM.
Източник: opennet.ru
