Hopp til hovedinnhold

Onsdag 7. oktober

 Tilbake Sikkerhet 2 min 14.13

pnpm 11 nekter å installere npm-pakker yngre enn 24 timer som ny standard, etter høstens supply chain-bølge

tirsdag 5. mai · KI-generert · Kilde: Cyber Security News

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Oppgrader til pnpm 11 og la `minimumReleaseAge: 1440` stå som default for å lukke det korte vinduet angripere har mellom publisering og oppdagelse av ondsinnede npm-pakker.

Cyber Security News rapporterer at pnpm 11 lander samtidig som Go-, Rust- og PHP-økosystemene fortsatt rydder opp etter en kampanje som kompromitterte fersk-publiserte pakker på tvers av npm, PyPI og Packagist. Socket.dev har dokumentert at de fleste ondsinnede versjoner blir oppdaget innen timer etter publisering, men skaden er allerede gjort fordi CI-pipelines plukker dem opp i samme øyeblikk de dukker opp.

pnpm 11 introduserer tre defaults som flytter byrden fra opt-in til opt-out:

  1. Minimum Release Age på 1 440 minutter (24 timer). Nye versjoner resolves ikke før de har eksistert i minst ett døgn. Hotfixes og sikkerhetspatcher kan unntas via minimumReleaseAgeExclude.
  2. Block Exotic Subdeps slått på via blockExoticSubdeps. Transitive avhengigheter som resolveres fra Git-repoer eller direkte tarball-URL-er blir blokkert. Topp-nivå package.json kan fortsatt bruke eksotiske kilder.
  3. Allow Builds-modell som erstatter spredte onlyBuiltDependencies og ignoredBuiltDependencies med ett kart fra pakke-mønster til boolean. Dette retter seg direkte mot lifecycle-skript, som fortsatt er den mest brukte eksekveringsstien i npm-angrep.

Hva bør du gjøre?

  1. Oppgrader CI-runnere til pnpm 11 og fjern eventuell --ignore-scripts-løsning du allerede har bygget. Den nye allowBuilds-modellen er mer presis.
  2. Auditér pnpm-workspace.yaml for onlyBuiltDependencies og ignoredBuiltDependencies og migrér dem til allowBuilds-kartet før neste deploy.
  3. Hvis du har monorepo med Git-baserte avhengigheter, sjekk at de står som direkte avhengigheter i topp-nivå package.json. blockExoticSubdeps rammer kun transitive.

Bakgrunn

pnpm har lenge profilert seg på diskplass-effektivitet via hardlinks. Versjon 11 er den første utgivelsen der vedlikeholderne åpent prioriterer sikkerhet over installasjonshastighet i defaults. Bun og npm har foreløpig ikke fulgt etter med tilsvarende karantenetid.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.