NPM 12.0 versiyası, Node.js ilə birgə təqdim olunan paket meneceri elan edilib və JavaScript modullarının paylanmasında istifadə olunur. Yeni versiya, paketlərin quraşdırılması zamanı skriptlərin avtomatik icrasının dayandırılması ilə diqqət çəkir. Bu dəyişiklik, asılılıqların komprimitə edilməsi yolu ilə hücumların həyata keçirilmesini çətinləşdirəcək və quraşdırma skriptləri tərəfindən aktivləşdirilən böceklərin yayılmasını yavaşladacaq.
package.json-da preinstall, install və ya postinstall parametrləri ilə göstərilən skriptlərin avtomatik icrasını qadağan etmək üçün allowScripts konfiqurasiyası standart olaraq "off" dəyərinə təyin edilib. Belə skriptlərin icrası, həmçinin paketdə binding.gyp faylı olduğu halda node-gyp vasitəsilə C/C++ kodunun tərtibi, indi yalnız istifadəçidən aydın göstəriş alındıqda həyata keçirilir. Bununla yanaşı, "—allow-git" və "—allow-remote" parametrləri standart olaraq "none" dəyərinə təyin edilib, bu da Git-repozitoriyalarından və tar arxivlərinə olanbağlantılardan avtomatik asılılıqların yüklənməsini deaktiv edir.
Yükləmə skriptlərinin işə salınmasını təşkil etmək üçün "npm approve-scripts" əmri istifadə edilməlidir, burada etibarlı paketlərin adları arqument kimi verilir, ya da "—all" seçimi bütün paketlərə icazə vermək üçün istifadə olunur. Şübhəli paketlər üçün "npm approve-scripts —allow-scripts-pending" əmri işlədilərək icra olunmaq üçün növbədə olan skriptlərin siyahısını göstərir. Bu skriptlər yoxlandıqdan sonra, onları "npm approve-scripts" əmri ilə icazə verərək package.json-da ağ siyahıya əlavə etmək mümkündür.
Bundan əlavə, 2FA olmadan əməliyyatların icrası üçün təyin olunmuş GAT akses tokenlərinin (Granular Access Tokens) NPM repozyoriyasında istifadəsi qadağan edilib. Avqustdan etibarən, bu cür tokenlər əlavə əllə təsdiq olmadan belə əməliyyatları icra etməyə icazə verməyəcək - tokenlərin yaradılması və ya silinməsi, profilin, parolun və ya emailin dəyişdirilməsi, iki faktorlu autentifikasiya parametrlərinin tənzimlənməsi, bərpa kodlarının yaradılması, hüquq və idarə etmə prosesləri.
2027-ci ilin yanvarında 2FA-nı aşan tokenlərlə paketlərin birbaşa yayımlanması qadağan ediləcək. Eyni zamanda, paketlər staging bölməsində yayımlana biləcək ki, buradakı paketlər, əllə təsdiq olunana qədər gözləyəcək. Təsdiq edildikdən sonra yayımlanmış paketlər istifadəçilər üçün quraşdırma üçün mövcud olacaq.
Avtomatik dərc etmə üçün «Trusted Publishers» mexanizminin istifadəsi təklif olunur, bu mexanizm OpenID Connect (OIDC) standartına və xarici xidmətlərlə paket kataloqu arasında yayımlama əməliyyatını təsdiqləmək üçün müvəqqəti qorunan autentifikasiya tokenləri ilə mübadiləyə əsaslanır. Bu, ənənəvi parollar və ya API üçün daimi giriş tokenləri istifadəsinin yerini alır.
Mənbə: opennet.ru
