In NPM 12.0 is de uitvoering van scripts bij het installeren van pakketten standaard uitgeschakeld

De release van package manager NPM 12.0 is aangekondigd, dat onderdeel uitmaakt van de levering van Node.js en gebruikt wordt voor de distributie van modules in JavaScript. De nieuwe versie valt op door de standaard uitschakeling van het uitvoeren van scripts tijdens de installatie van pakketten. Deze wijziging is bedoeld om aanvallen via gecompromitteerde afhankelijkheden moeilijker te maken en de verspreiding van wormen die worden geactiveerd door installatiescripts te vertragen.

Om het automatisch opstarten van scripts, zoals gedefinieerd in package.json via de parameters preinstall, install of postinstall, te verbieden, is de instelling allowScripts standaard op 'uit' gezet. Het uitvoeren van dergelijke scripts, evenals het compilen van C/C++-code met de tool node-gyp bij de aanwezigheid van een binding.gyp bestand in het pakket, gebeurt nu alleen op expliciete instructie van de gebruiker. Bovendien zijn de parameters '--allow-git' en '--allow-remote' nu standaard ingesteld op 'none', wat automatisch downloaden van afhankelijkheden uit Git-repositories en vanaf directe links naar tar-archieven uitschakelt.

Voor het organiseren van de uitvoering van installatie scripts moet het commando 'npm approve-scripts' worden gebruikt, waaraan de namen van vertrouwde pakketten als argumenten worden doorgegeven, of de optie '--all' om toestemming te geven voor alle pakketten. Voor twijfelachtige pakketten wordt aanbevolen het commando 'npm approve-scripts --allow-scripts-pending' te gebruiken, dat een lijst van scripts die wachten op uitvoering weergeeft. Na controle van deze scripts kunnen ze worden goedgekeurd met het commando 'npm approve-scripts' en aan de witte lijst in package.json worden toegevoegd.

Daarnaast is de verboden toegang tot GAT-tokens (Granular Access Tokens) in de NPM-repository aangekondigd, deze zijn ingesteld om acties uit te voeren zonder twee-factor-authenticatie (2FA). Vanaf augustus zullen dergelijke tokens, zonder extra handmatige bevestiging van acties, het uitvoeren van operaties zoals het aanmaken of verwijderen van tokens, het wijzigen van profielen, wachtwoorden of e-mail, het instellen van twee-factor-authenticatie, het genereren van herstelcodes, het wijzigen van toegangsrechten en het beheer van bijbehorende acties niet toestaan.

In januari 2027 willen ze de directe publicatie van pakketten verbieden waarbij tokens worden gebruikt die 2FA omzeilen. Pakketten kunnen echter worden gepubliceerd in de staging-sectie, waar ze zullen blijven totdat de release handmatig door de begeleider is bevestigd. Na handmatige bevestiging zullen de gepubliceerde pakketten beschikbaar zijn voor installatie door gebruikers.

Voor automatische publicatie wordt een systeem voorgesteld dat 'Trusted Publishers' gebruikt, gebaseerd op de standaard OpenID Connect (OIDC) en authenticatietokens met beperkte geldigheid, die worden uitgewisseld door externe services en het pakketcatalogus om de publicatieoperatie van een pakket te bevestigen, in plaats van traditionele wachtwoorden of permanente API-toegangstokens te gebruiken.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster