In NPM 12.0 l'esecuzione di script all'installazione dei pacchetti è disattivata per impostazione predefinita

È stato pubblicato il rilascio del gestore di pacchetti NPM 12.0, incluso nella fornitura di Node.js e utilizzato per la distribuzione di moduli in JavaScript. La nuova versione è notevole per l'interruzione predefinita dell'esecuzione di script durante l'installazione dei pacchetti. Si prevede che questa modifica renda più difficile la realizzazione di attacchi mediante compromissione delle dipendenze e rallenti la diffusione di worm attivati da script di installazione.

Per vietare l'autoplay degli script specificati in package.json tramite i parametri preinstall, install o postinstall, l'impostazione allowScripts è impostata per impostazione predefinita su "off". L'esecuzione di tali script e l'esecuzione della compilazione del codice C/C++ tramite lo strumento node-gyp in presenza di un file binding.gyp nel pacchetto avverranno ora solo su esplicita istruzione dell'utente. Inoltre, i parametri "—allow-git" e "—allow-remote" sono ora impostati di default su "none", disabilitando il download automatico delle dipendenze da repository Git e da collegamenti diretti a siti con archivi tar.

Per gestire l'esecuzione degli script di installazione, si deve utilizzare il comando "npm approve-scripts", al quale sono passati come argomento i nomi dei pacchetti fidati, oppure l'opzione "—all" per autorizzare tutti i pacchetti. Per i pacchetti sospetti, è consigliato eseguire il comando "npm approve-scripts —allow-scripts-pending", che mostrerà un elenco degli script in attesa di esecuzione. Dopo aver verificato tali script, possono essere autorizzati con il comando "npm approve-scripts" e aggiunti alla whitelist in package.json.

Inoltre, è stato annunciato il divieto di utilizzo di token di accesso GAT nel repository NPM (Granular Access Tokens) configurati per eseguire operazioni senza autenticazione a due fattori (2FA). A partire da agosto, tali token non permetteranno di eseguire operazioni come la creazione o la cancellazione di token, la modifica del profilo, della password o dell'email, la configurazione dell'autenticazione a due fattori, la generazione di codici di ripristino, la modifica dei permessi e la gestione degli accompagnatori senza una conferma manuale aggiuntiva.

A gennaio 2027, si intende vietare la pubblicazione diretta di pacchetti utilizzando token che aggirano il 2FA. I pacchetti potranno essere pubblicati nella sezione di staging, dove rimarranno fino alla conferma manuale del rilascio da parte del responsabile. Dopo la conferma manuale, i pacchetti pubblicati diventeranno disponibili per l'installazione da parte degli utenti.

Per la pubblicazione automatica, si propone di utilizzare il meccanismo "Trusted Publishers", basato sullo standard OpenID Connect (OIDC) e su token di autenticazione a tempo limitato, scambiati tra servizi esterni e il catalogo dei pacchetti per confermare l'operazione di pubblicazione del pacchetto, invece di utilizzare le tradizionali password o token di accesso API permanenti.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster