Wouter Hoeffnagel - 31 juli 2026

NCSC waarschuwt ontwikkelaars: 'Wees alert op gecompromitteerde afhankelijkheden'

Softwareontwikkelaars lopen een groeiend risico dat afhankelijkheden die zij via pakketregisters als npm en PyPI binnenhalen gecompromitteerd blijken te zijn, waarschuwt het Nationaal Cyber Security Centrum (NCSC). Uit een reeks incidenten van het afgelopen jaar blijkt dat aanvallers steeds vaker geautomatiseerde malwarecampagnes opzetten nadat zij toegang hebben gekregen tot het account van een enkele maintainer, waarna in korte tijd honderden pakketten besmet raken.

NCSC waarschuwt ontwikkelaars: 'Wees alert op gecompromitteerde afhankelijkheden' image

De aanvallen verlopen vaak via phishing, waarmee publicatietokens van maintainers worden buitgemaakt. In september en november 2025 werden op deze manier ruim 700 npm-pakketten besmet en kwamen circa 14.000 inloggegevens van 487 organisaties op straat, bij een campagne die bekendstaat als Shai-Hulud. In een latere golf verplaatste de kwaadaardige code zich van een postinstall- naar een preinstall-script, waardoor deze al werd uitgevoerd voordat de installatie was afgerond en detectiemethoden werden omzeild.

Pakketten op Docker Hub, npm, PyPI en OpenVSX besmet

In maart 2026 werd een token van een leverancier van een veelgebruikte securityscanner buitgemaakt via een verkeerd geconfigureerde GitHub Actions-workflow. Doordat de credentials niet volledig werden geroteerd, behield de aanvaller toegang en kon deze versietags van de scanner-action overschrijven. Hierdoor verwezen bestaande verwijzingen in duizenden pipelines naar kwaadaardige code, die vóór de eigenlijke scan werd uitgevoerd zodat pipelines normaal bleven ogen. De buitgemaakte gegevens werden vervolgens gebruikt om pakketten op Docker Hub, npm, PyPI en OpenVSX te besmetten.

Tussen april en juni 2026 volgden meerdere aanvullende campagnes. Bij een daarvan werd het OIDC-gebaseerde trusted-publishingmechanisme misbruikt dat juist als beveiligingsverbetering na eerdere incidenten was ingevoerd, om kortlevende publicatietokens te bemachtigen. Ook werden bij PyPI padconfiguratiebestanden gebruikt die automatisch door de Python-interpreter worden verwerkt, zonder dat daarvoor een import of installatiescript nodig is. Een besmette VS Code-extensie stond achttien minuten in de marketplace, wat volstond voor duizenden installaties, en in juni werd verborgen tekst aangetroffen in PyPI-pakketten die bedoeld was om AI-gebaseerde scanners te misleiden.

Begin juni werden ruim dertig pakketten onder een Red Hat-namespace gecompromitteerd, medio juli volgden de releasepijplijnen van vier AsyncAPI-repositories. Van één van de malwarecampagnes is inmiddels ook de broncode openbaar gemaakt, waardoor de gebruikte technieken beschikbaar zijn gekomen voor andere kwaadwillenden.

'Een gestolen token is voldoende'

Uit de incidenten komt naar voren dat één gestolen token voldoende kan zijn om honderden pakketten te besmetten en dat kwaadaardige code steeds vroeger in het installatieproces wordt uitgevoerd, nog voordat tests en scans plaatsvinden. Ook beveiligingstooling zelf, waaronder AI-gebaseerde scanners, blijkt kwetsbaar voor misleiding. Onvolledige rotatie van credentials na een incident bleek in meerdere gevallen de reden dat aanvallers toegang behielden.

Copaco BN +BW
Data Expo 2026 BN