GitHub scherpt npm-beveiliging aan met verplichte 2FA

GitHub

Na een geavanceerde aanval op het npm-ecosysteem verplicht GitHub voortaan tweefactorauthenticatie voor lokale publicaties. Ook worden klassieke tokens uitgefaseerd en wordt het gebruik van ‘trusted publishing’ aangemoedigd.

GitHub voert strengere maatregelen in voor het publiceren van pakketten op het npm-platform. Aanleiding is de recente Shai-Hulud-aanval, waarbij aanvallers via overgenomen accounts kwaadaardige software verspreidden via bekende npm-pakketten.

Dat is gevaarlijk omdat npm-pakketten net dienen om eenvoudig te installeren vanuit een register met een enkel commando. Wie daar malware injecteert, kan die snel op grote schaal verspreiden.

De aanval op 14 september 2025 maakte gebruik van een worm die zich automatisch kon repliceren en gevoelige informatie stal, waaronder npm-tokens. GitHub verwijderde meer dan 500 pakketten uit de registry en blokkeerde de verspreiding van gekende kwaadaardige patronen.

Sterkere controle

Het incident toont volgens GitHub aan dat strengere authenticatie en publicatiecontroles cruciaal zijn voor het beschermen van de software supply chain. Om herhaling te voorkomen, verplicht GitHub daarom het gebruik van tweefactorauthenticatie (2FA) bij lokale publicatie van pakketten.

Naast verplichte 2FA wordt ook de ondersteuning voor klassieke tokens afgebouwd. In de plaats komen zogenaamde granular tokens met beperkte rechten en een maximale geldigheidsduur van zeven dagen. Ook TOTP-gebaseerde 2FA wordt uitgefaseerd ten voordele van FIDO-gebaseerde authenticatie via WebAuthn.

Verder schakelt GitHub de mogelijkheid uit om 2FA te omzeilen bij lokale publicaties. Publicatietoegang via tokens wordt standaard uitgeschakeld, met als doel beheerders te stimuleren om over te stappen op trusted publishing of om 2FA verplicht te maken voor schrijfacties. GitHub belooft een geleidelijke uitrol met ondersteuning en migratiedocumentatie om de impact op bestaande workflows te beperken.

Trusted publishing – waarbij geen tokens meer nodig zijn in buildsystemen – is inmiddels beschikbaar voor meerdere package managers, waaronder PyPI, RubyGems en crates.io. GitHub wil het gebruik ervan binnen npm versneld doorzetten.

Met deze maatregelen wil GitHub het vertrouwen in het npm-ecosysteem herstellen en toekomstige aanvallen voorkomen. Ontwikkelaars krijgen de raad om hun beveiligingsinstellingen zo snel mogelijk aan te scherpen en over te stappen op 2FA en trusted publishing.