Kiekvienas „npm install" komandas, kurį paleidžia programuotojas, yra pasitikėjimo aktas. Jūs tikite, kad paketo autorius yra tas, kuo prisistato, o paketas — būtent tai, ką jis teigia esantis. Praėjus keliems mėnesiams po rekordinės atvirojo kodo užnuodijimo bangos, „GitHub" pristatė dvi naujoves, kurios iš esmės pakeičia šią lygtį: etapinis publikavimas su dviejų faktorių autentifikacija ir diegimo šaltinių kontrolė.

Nuo šiol npm palaiko vadinamąjį „staged publishing" — mechanizmą, kai paketo versija nėra iškart padaroma prieinama vartotojams. Vietoj to, ji patenka į laikiną eilę, iš kurios gali būti patvirtinta tik žmogaus prižiūrėtojo, sėkmingai praėjusio 2FA iššūkį. „Vietoj tiesioginio publikavimo, kuris versiją iškart padaro prieinamą, iš anksto sukompiliuotas archyvas įkeliamas į etapinę eilę, kur prižiūrėtojas privalo jį aiškiai patvirtinti prieš tampant įdiegiamu," — aiškina „GitHub".

Praktiškai tai reiškia „įrodymą apie buvimą" kiekvienam publikavimui — net ir tiems, kurie ateina iš automatizuotų CI/CD darbo eigų. Norint naudoti šią funkciją, reikia atnaujinti npm CLI bent iki 11.15.0 versijos ir paleisti komandą „npm stage publish".

// reklamaČia gali būti jūsų reklamaSusisiekite →

Antroji naujovė — trys nauji diegimo šaltinių parametrai, papildantys jau egzistuojantį „--allow-git" vėliavėlę. Jie leidžia programuotojams aiškiai kontroliuoti, iš kokių šaltinių paketai gali būti įdiegti — neleidžiant nieko, kas nėra aiškiai įtraukta į leidžiamų sąrašą.

Šie pakeitimai ateina po to, kai pastaraisiais mėnesiais atvirojo kodo ekosistema patyrė masinį programinės įrangos tiekimo grandinės atakų antplūdį. Viena kibernetinių nusikaltėlių grupė, vadinama „TeamPCP", ypač pasižymėjo nuodydama populiarius paketus precedento neturinčiu mastu.

Dažnai užduodami klausimai

Ar mano seni npm paketai automatiškai gaus etapinį publikavimą?
Ne. Ši funkcija yra pasirenkama ir turi būti aktyvuota kiekvienam paketui atskirai. „GitHub" rekomenduoja ją derinti su „trusted publishing" naudojant OIDC autentifikaciją.

Šaltiniai

  1. npm Adds 2FA-Gated Publishing and Package Install Controls Against Supply Chain AttacksThehackernews · 2026
  2. GitHub npm staged publishing documentationDocs · 2026