W NPM 12.0 domyślnie wyłączono uruchamianie skryptów podczas instalacji pakietów

Wydano wydanie menedżera pakietów NPM 12.0, który jest częścią Node.js i służy do dystrybucji modułów w języku JavaScript. Nowa wersja wyróżnia się domyślnym wyłączeniem uruchamiania skryptów podczas instalacji pakietów. Zmiana ta ma na celu utrudnienie przeprowadzania ataków z wykorzystaniem kompromitacji zależności oraz spowolnienie dystrybucji robaków uruchamianych z instalacyjnych skryptów.

Aby zabronić automatycznego uruchamiania skryptów określonych w package.json za pomocą parametrów preinstall, install lub postinstall, ustawienie allowScripts domyślnie ustawiono na „off”. Wykonanie takich skryptów, a także uruchamianie kompilacji kodu C/C++ za pomocą narzędzia node-gyp, jeśli w pakiecie znajduje się plik binding.gyp, odbywa się teraz tylko po wyraźnym poleceniu użytkownika. Dodatkowo, parametry „—allow-git” i „—allow-remote” są teraz domyślnie ustawione na „none”, co wyłącza automatyczne pobieranie zależności z repozytoriów Git oraz z bezpośrednich linków do witryn z archiwami tar.

Aby zorganizować uruchamianie instalacyjnych skryptów, należy użyć polecenia „npm approve-scripts”, do którego jako argument przekazywane są nazwy pakietów, którym należy zaufać, lub opcja „—all” w celu udzielenia zgody wszystkim pakietom. Dla wątpliwych pakietów zaleca się uruchomienie polecenia „npm approve-scripts —allow-scripts-pending”, które wyświetli listę skryptów oczekujących na uruchomienie. Po sprawdzeniu tych skryptów można je zatwierdzić poleceniem „npm approve-scripts” i dodać do białej listy w package.json.

Dodatkowo ogłoszono zakaz używania w repozytorium NPM GAT-tokenów dostępu (Granular Access Tokens), skonfigurowanych do wykonywania działań bez dwuetapowej weryfikacji (2FA). Począwszy od sierpnia, takie tokeny nie pozwolą na wykonywanie operacji, takich jak tworzenie lub usuwanie tokenów, zmiana profilu, hasła lub adresu e-mail, konfiguracja dwuetapowej weryfikacji, generowanie kodów odzyskiwania, zmiana uprawnień i zarządzanie towarzyszącymi bez dodatkowego ręcznego potwierdzenia działań.

W styczniu 2027 roku planowane jest zakazanie bezpośredniej publikacji pakietów z użyciem tokenów omijających 2FA. Pakiety będzie można publikować w sekcji staging, gdzie będą czekać na ręczne potwierdzenie wydania przez osobę odpowiedzialną. Po ręcznym potwierdzeniu opublikowane pakiety staną się dostępne do instalacji przez użytkowników.

Do automatycznej publikacji proponuje się wykorzystanie mechanizmu „Zaufanych Wydawców”, opartych na standardzie OpenID Connect (OIDC) oraz tokenach uwierzytelniających o ograniczonym czasie ważności, którymi wymieniają się zewnętrzne usługi i katalog pakietów w celu potwierdzenia operacji publikacji pakietu, zamiast tradycyjnych haseł czy stałych tokenów dostępu do API.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster