У грудні 2025 року npm провів масштабне оновлення системи автентифікації після інциденту Sha1-Hulud, щоб зменшити ризики атак на ланцюг постачання. Платформа відмовилась від класичних довгоживучих токенів і перейшла на короткострокові сесійні механізми з MFA. Проте навіть після цих змін npm-проєкти залишаються вразливими до фішингу, компрометації консолі розробника та зловживань автоматизацією. Історично npm використовував «класичні» токени — довготривалі облікові ключі з широкими правами. У разі компрометації зловмисник міг публікувати шкідливі версії пакетів від імені мейнтейнера. Саме так реалізовувались гучні атаки на кшталт Shai-Hulud або інцидентів із chalk/debug.

Після серії атак npm:
анулював класичні токени;
запровадив короткоживучі сесійні токени (приблизно 2 години);
зробив MFA стандартом для публікації;
рекомендував OIDC Trusted Publishing для CI/CD, щоб уникати зберігання секретів.
Це суттєво знижує ризики, адже облікові дані швидко втрачають чинність і потребують другого фактора підтвердження.
Однак залишаються два критичні моменти. По-перше, атаки через MFA-фішинг усе ще можливі. Якщо зловмисник отримує доступ до консолі розробника, він може встигнути опублікувати шкідливу версію пакета навіть із короткоживучим токеном. По-друге, розробники можуть створювати 90-денні токени з обходом MFA — фактично аналог старих «класичних» ключів.
Таким чином, якщо доступ до консолі = доступ до публікації пакета, то базовий ризик supply-chain компрометації не зникає повністю.
Окремо експерти звертають увагу на підхід «build from source» — збірку пакетів із перевіреного upstream-коду замість використання готових артефактів із npm. За аналізом публічних інцидентів, у 98,5% випадків шкідливий код містився саме в опублікованому артефакті, а не в оригінальному репозиторії. Це означає, що перевірена збірка з джерел може значно зменшити площу атаки.
Supply-chain атаки на npm залишаються однією з найнебезпечніших загроз для екосистеми JavaScript. Компрометація одного популярного пакета може вплинути на тисячі або мільйони проєктів. Навіть із покращеною автентифікацією ключовим слабким місцем лишається людський фактор — фішинг, соціальна інженерія та помилки в налаштуваннях токенів.
Модель «швейцарського сиру» в безпеці передбачає багаторівневий захист: MFA, OIDC, короткоживучі токени, аудит релізів і перевірену збірку з джерел.
npm зробив важливий крок уперед, ліквідувавши довгоживучі токени та посиливши стандартну автентифікацію. Проте доки MFA та OIDC залишаються необов’язковими, а консоль розробника дає прямий доступ до публікації пакетів, ризик supply-chain атак зберігається. Командам варто впроваджувати багаторівневий контроль доступу, перевіряти CI/CD-пайплайни та розглядати збірку пакетів із перевірених джерел.