npm 12 stenger auto-kjøring av installskript
GitHub gjør en av de mest brukte snarveiene i JavaScript-økosystemet mindre farlig. I npm 12 skal installasjon av pakker ikke lenger kjøre installskript automatisk, ifølge The Register. Endringen treffer preinstall, install og postinstall, de livssyklus-skriptene som i praksis har gitt alle transitive avhengigheter en liten fjernkontroll inn i utviklermaskiner og CI-miljøer.
Dette er ikke en kosmetisk innstramming. npm er standardverktøyet i store deler av moderne web-, app- og plattformutvikling. Når en utvikler eller byggepipelinen kjører npm install, kan kode fra en pakke langt nede i avhengighetstreet få kjøre før applikasjonen i det hele tatt er bygget. Det er praktisk for native moduler og generering av artefakter. Det er også en av de mest attraktive angrepsflatene i programvarekjeden.
The Register viser til npm-maintainer Leo Balter, som beskriver install-time lifecycle scripts som den største kodekjøringsflaten i npm-økosystemet. Poenget er brutalt enkelt: Hver installasjon kan kjøre scripts fra hver transitive dependency. Én kompromittert pakke kan dermed få vilkårlig kodekjøring på en utviklers laptop eller i en CI-runner.
I npm 12 skal dette snus fra tillit som standard til eksplisitt tillatelse. Pakker som trenger installskript må inn på en allowlist gjennom allow-scripts. Tillatelsen skal knyttes til den installerte versjonen av pakken, slik at en senere versjon ikke automatisk arver samme rett. Det gir sikkerhetsteam et mer håndterbart kontrollpunkt: Hvilke pakker får faktisk kjøre kode ved installasjon, hvorfor, og hvem eier risikoen?
Samtidig strammes andre gamle åpninger inn. The Register skriver at --allow-git skal være av som standard, og at allow-remote skal settes til none. Det begrenser avhengigheter som hentes rett fra git-referanser eller fjern-URL-er, i stedet for vanlige versjonerte pakker. Slike mekanismer er nyttige i små team og midlertidige hacks. I større miljøer er de ofte en blindvei for sporbarhet, SBOM, caching, signering og revisjon.
Bakgrunnen er ikke teoretisk. Angrep som Shai-Hulud viste hvor effektivt installskript kan brukes når en angriper først får kontroll over en pakke eller maintainer-konto. Moderne utviklingsmiljøer gjør problemet større, ikke mindre. AI-kodeagenter installerer avhengigheter raskere enn mennesker. De kjører i terminaler, containere, Codespaces og CI-miljøer med tilgang til tokens, miljøvariabler og interne repoer. Et svakt npm-default blir da ikke bare utviklerfriksjon. Det blir en agentforsterket supply chain-risiko.
For norske CIO-er og CISO-er er hovedpoenget at dette må behandles som en planlagt endring i byggeløpet, ikke som en npm-detalj utviklerne kan rydde i senere. Når default endres, vil noen prosjekter feile. Det er prisen for å finne ut hvilke avhengigheter som faktisk trenger installtid-kode. Den jobben bør tas kontrollert før juli, ikke fredag ettermiddag når en produksjonsrelease stopper i pipeline.
Det praktiske tiltaket er å starte med de mest kritiske repoene. Kjør installasjoner med den nye modellen der det er mulig. Finn hvilke pakker som krever scripts. Skill mellom legitime behov, historiske rester og pakker som aldri burde hatt installprivilegier. Lag en allowlist i package.json der det trengs, og få sikkerhet, plattform og utvikling til å eie listen sammen.
Dette er også en god anledning til å rydde i CI-hemmeligheter. Hvis en installfase kan nå GitHub-tokens, npm-tokens, cloud credentials eller deploy-nøkler, er miljøet for bredt. Byggejobber bør ha korte, minst mulige rettigheter. Agentjobber bør ha enda strammere rammer, fordi de ofte kombinerer automatiserte beslutninger med rask pakkeinstallasjon.
Endringen kan gi kortvarig støy. Den kan også kutte en hel klasse med lavkostangrep. Selskaper som bruker Node tungt, bør ikke vente på at npm 12 lander hos alle utviklere. Kartlegg installskriptene nå, lag policy for allow-scripts, og gjør fjernavhengigheter til unntak med eier. Det er kjedelig arbeid. Nettopp derfor virker det.
Kilder og medier
- Kilde: The Register, «GitHub pulls pin on npm's auto-run scripts», https://www.theregister.com/devops/2026/06/10/github-pulls-pin-on-npms-auto-run-scripts/5253453
- Supplerende verifisering: npm-registry viser npm 12 pre-release under next-12-dist-tag per 12. juni 2026, https://www.npmjs.com/package/npm/v/12.0.0-pre.0.0
- Thumbnail: OpenAI Image 2 / hogby.ai
📬 Likte du denne?
AI-nyheter for ledere. Kuratert av en CIO som bygger det selv. Daglig i innboksen.