npm 12: scripts d'instal·lació desactivats per defecte

Descobreix com npm 12 desactiva scripts per defecte per protegir el teu pipeline CI. Aprèn a migrar i evitar vulnerabilitats com el cuc Shai-Hulud.

sábado, 18 de julio de 2026 • 7 min de lectura • Equip Q2BSTUDIO

Migració a npm 12: canvis en seguretat de scripts

L'ecosistema Node.js ha viscut una transformació silenciosa però profunda amb l'arribada de npm 12, una versió que canvia radicalment les regles del joc en desactivar per defecte els scripts d'instal·lació (preinstall, install i postinstall). El que abans era un comportament automàtic i còmode per als desenvolupadors s'ha convertit en un risc de seguretat massa alt, com va demostrar el cuc Shai-Hulud que va comprometre més de 500 paquets el 2025. Aquest article analitza l' impacte d' aquesta decisió, com afecta els equips de desenvolupament i quines estratègies seguir per migrar sense trencar la productivitat, tot això des d' una perspectiva professional i amb referències a serveis com els que ofereix Q2BSTUDIO.

La principal novetat de npm 12 és que els scripts d'instal·lació ja no s'executen llevat que siguin explícitament autoritzats mitjançant un allowlist que es guarda al package.json. A més, les dependències Git i les que venen de tarballs remots també queden bloquejades per defecte. Això suposa un canvi de paradigma: la seguretat ja no és un afegit opcional, sinó la base del flux d'instal·lació. Per a moltes empreses, especialment les que treballen amb microserveis o monoreps, aquesta transició pot ser dolorosa si no es planifica adequadament. Tanmateix, en lloc de veure'l com un obstacle, convé entendre-ho com una oportunitat per auditar i netejar l'arbre de dependències, una cosa que tota organització hauria de fer de forma periòdica.

La pregunta que sorgeix immediatament és: com afrontar aquesta migració sense aturar la producció? El primer que recomanen els experts és actualitzar a 11.16.0 (on els canvis ja apareixen com a advertències) per avaluar l'abast real del bloqueig. A continuació, executar el comando npm approve-scripts --allow-scripts-pending per a llistar tots els paquets que tenen scripts pendents. Aquest llistat sol ser més extens del que s'espera, incloent mòduls nadius, paquets de telemetria i descàrregues binàries de dependències transitives. El següent pas és revisar cadascun d'aquests scripts, aprovar els que siguin legítims i denegar els sospitosos. L'allowlist resultant s'ha de versionar en el control de codi, convertint-se en un artefacte revisable durant les pull requests. Aquí és on moltes empreses troben valor a comptar amb un aliat tecnològic. Els serveis de ciberseguretat de Q2BSTUDIO inclouen auditories de dependències i anàlisi de riscos en cadenes de subministrament de programari, ajudant els equips a identificar quins scripts són realment necessaris i quins poden eliminar-se o substituir-se per alternatives més segures.

Més enllà dels scripts d'instal·lació, npm 12 també bloqueja les compilacions implícites de node-gyp i els scripts prepari de dependències locals. Això afecta especialment paquets nadius que necessiten compilar-se en el moment de la instal·lació. La solució passa per aprovar aquests paquets a l'allowlist o, millor encara, migrar a binaris precompilats. Per als equips que gestionen múltiples projectes, la clau està en centralitzar la política d'approval mitjançant eines com el camp o les configuracions compartides. En aquest sentit, les organitzacions que ja han adoptat un enfocament de plataforma interna de desenvolupador (IDP) tenen avantatge, ja que poden definir i distribuir regles de seguretat de forma uniforme.

El canvi a les dependències Git i remotes mereix una reflexió a part. En bloquejar per defecte la resolució d'URLs com https:// o referències Git, npm 12 tanca una via d'execució de codi que podia eludir --ignore-scripts mitjançant un arxiu .npmrc maliciós en el repositori de la dependència. Això significa que, si algun projecte utilitza forks no publicats en el registre oficial, o tarballs allotjats en buckets de S3, ara és el moment de migrar-los al registre npm (públic o privat) o, almenys, passar explícitament els flagells --allow-git i --allow-remote. No obstant això, com bé assenyalen els analistes de seguretat, mantenir dependències externes sense passar pel registre és una mala pràctica que s'hauria de corregir definitivament. Aquí, les empreses que ja utilitzen serveis cloud AWS i Azure per allotjar els seus propis registres privats de npm tenen una infraestructura més sòlida i controlada, reduint la superfície d'atac.

Un dels aspectes que més preocupa els responsables tècnics és l'impacte en els pipelins d'integració contínua (CI). Si el pipeline no té una versió de npm fixada, el simple fet que npm 12 s'hagi etiquetat com a latest farà que la propera execució el reculli automàticament, trencant builds de forma inesperada. Per això és crític pinçar la versió de npm en cada projecte, ja sigui mitjançant variables d' entorn, imatges Docker o scripts d' inicialització. En entorns amb múltiples equips o clients, com sol ocórrer en consultores tecnològiques, la recomanació és encara més estricta: cada projecte ha de tenir el seu propi fitxer de configuració i no heretar una versió global de npm. Q2BSTUDIO, amb la seva experiència en desenvolupament de programari a mida, ajuda les empreses a dissenyar pipelins robustos que incloguin aquests controls de versions i polítiques de seguretat, evitant sorpreses desagradables durant els desplegaments.

Però la seguretat no acaba amb els scripts d'instal·lació. npm 12 també inicia una cadència de deprecació dels tokens d'accés granular que salten l'autenticació de dos factors (2FA). L'agost del 2026, aquests tokens perdran capacitat per realitzar accions sensibles com gestionar paquets o membres de l'equip; i el gener del 2027, perdran la capacitat de publicar directament. Per a les organitzacions que depenen d'automatitzacions amb tokens de llarga durada, això suposa un termini ineludible per migrar a publicació confiada mitjançant OIDC (OpenID Connect) o publicació esglaonada amb aprovació humana. La intel·ligència artificial per a empreses pot facilitar la detecció de tokens obsolets o mal configurats, però la decisió final de migrar la infraestructura recau en els equips de plataforma. En aquest context, comptar amb un partner tecnològic que ofereixi tant consultoria com implementació és un avantatge competitiu.

Des d' una perspectiva més àmplia, aquest moviment de npm reflecteix una tendència imparable en la indústria del programari: la seguretat ha d' estar integrada des del principi, no ser un parxís posterior. La decisió de bloquejar scripts d'instal·lació per defecte és comparable a la que van prendre altres gestors de paquets com pnpm, que ja desactivaven els scripts per defecte. Els equips de desenvolupament han d' incorporar la revisió de dependències com a part del flux de treball diari, no com una tasca puntual després d' un incident. Eines com Power BI o els serveis intel·ligència de negoci poden ajudar a visualitzar l'estat de salut de l'ecosistema de dependències d'una organització, mostrant mètriques com el nombre de scripts aprovats, denegats o pendents, i alertant de paquets que porten molt de temps sense revisió. La intel·ligència de negoci aplicada a la seguretat del programari és una àrea emergent que moltes empreses estan començant a explotar.

Un altre punt que mereix atenció és el dels agents IA i el seu paper en l' automatització de tasques de revisió de codi. Tot i que un agent d'IA pot examinar ràpidament el contingut d'un script d'instal·lació i assenyalar patrons sospitosos, la decisió final d'aprovar-lo ha de ser humana, basada en el context del projecte i la reputació del mantenidor. La ia per a empreses està evolucionant per integrar-se en els pipelins de CI/CD, oferint anàlisis estàtiques i dinàmiques de dependències, però sempre sota supervisió. Q2BSTUDIO incorpora aquestes capacitats en les seves solucions d'aplicacions a mida, combinant intel·ligència artificial amb l'experiència d'enginyers sènior per oferir un enfocament equilibrat entre automatització i control.

En resum, l'arribada de npm 12 no és un simple canvi de versió, sinó una fita en la maduresa de la seguretat en l'ecosistema Node.js. Exigeix als equips una acció planificada: auditar, aprovar, fixar versions i migrar tokens. Aquelles organitzacions que comptin amb el suport d' especialistes com Q2BSTUDIO podran realitzar aquesta transició sense sobresalts, aprofitant l' ocasió per enfortir les seves pràctiques de desenvolupament i reduir el deute tècnic en seguretat. La inversió en una migració ordenada és molt menor que el cost d'una bretxa de seguretat que obligui a rotar credencials i revisar tot l'historial de dependències. El missatge és clar: l'era de la confiança cega en els scripts d'instal·lació ha acabat. Benvinguts a la nova normalitat, on cada línia de codi que s'executa durant una instal·lació ha de ser explícitament autoritzada.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.