AppSec · 81 giorni fa
L'assunto che un dependency installato possa eseguire codice da solo non regge più di default. Con npm v12, i hook di installazione non partono automaticamente: il flusso che ha alimentato molti worm e stealer nel registry viene chiuso prima che il package arrivi a caricare l'applicazione.
La release rende opt-in i script preinstall, install e postinstall delle dipendenze, blocca anche i rebuild impliciti di node-gyp e disattiva per default i resolve da git e da URL remote. In parallelo, npm inizia a dismettere gli access token granulari usabili per aggirare la 2FA; il cambiamento è già nella versione 12, oggi generally available.
Il default nuovo riduce il rischio di execution al momento dell'install, ma non tocca il problema più ampio della fiducia in maintainer compromessi o package legittimi usati come veicolo. Per chi usa npm in CI/CD o nei flussi di publishing, resta da considerare che il codice può ancora entrare dalla supply chain, solo non più per inerzia durante l'install.
2 fonti che coprono questa storia
npm 12 Disables Install Scripts by Default to Reduce Supply Chain Risk
GitHub releases npm 12 with install scripts off by default and begins phasing out 2FA bypass tokens for sensitive npm actions.
npm v12 Ships With Install Scripts Off by Default, Begins De...
npm v12 is generally available, turning install scripts off by default and beginning the deprecation of 2FA-bypass publishing tokens.
Part of the PlainSec briefing for 2026-07-09