Skip to main content
Blog
Blog Attacks

Het sneeuwbaleffect: hoe Mini Shai-Hulud npm verandert in een wormdistributienetwerk

Mini Shai-Hulud veranderde npm-pakketten in een lus voor credentialdiefstal. Zo verspreidde de AntV-golf zich.

May 19, 2026 5 min read
Simon Wijckmans
Simon Wijckmans Founder & CEO
Donkere cside-banner met een npm-supply-chain-aanval van het type worm

TL;DR

Mini Shai-Hulud laat zien hoe een npm-compromis zich verspreidt na de eerste kwaadaardige publicatie. De aanvaller hoeft niet elke downstream applicatie direct te compromitteren. Een maintaineraccount, een CI-pad of een installatiestap die credentials blootlegt kan genoeg zijn.

Op 2026-05-19 meldde Socket 639 gecompromitteerde pakketversies in 323 unieke pakketten in een Mini Shai-Hulud-golf rond het @antv-ecosysteem. De getroffen set bevatte pakketten voor grafieken, visualisatie, kaarten en React-wrappers die engineeringteams gebruiken zonder die dependencies altijd als security-kritisch te zien.

Het patroon is het echte probleem. npm is nuttig omdat publicatie, scanning en takedown centraal plaatsvinden. Diezelfde centralisatie wordt gevaarlijk wanneer lifecycle scripts, trusted publishing en maintainercredentials worden misbruikt om pakketten in een distributienetwerk te veranderen.

Wat er gebeurde in de AntV-golf

De AntV-golf gebruikte een bekend npm-ingangspunt: uitvoering tijdens installatie. Socket beschrijft een root-level index.js payload die package.json aanpaste zodat de payload tijdens preinstall draaide.

Dat is belangrijk omdat npm install, pnpm install en yarn install geen passieve downloadstappen zijn. Lifecycle scripts van pakketten kunnen code uitvoeren voordat een ontwikkelaar de pakketinhoud bekijkt of de applicatie start.

De payload was zwaar geobfusceerd. Socket rapporteerde runtime string decoding, versleutelde exfiltratie, gebruik van de GitHub API, gebruik van de npm registry API en een hardcoded HTTPS-exfiltratiepad. Het doel was niet alleen eenmalige malware-uitvoering. Het doel was credentials verzamelen waarmee de malware opnieuw kon publiceren.

Hoe Mini Shai-Hulud het sneeuwbaleffect creëert

De payload richt zich op ontwikkel- en CI/CD-omgevingen omdat die omgevingen publicatierechten bevatten. Een webapplicatie heeft misschien alleen een grafiekpakket nodig, maar de machine of workflow die het installeert kan ook toegang hebben tot npm, GitHub, AWS, Kubernetes, Vault, SSH, Docker of databasecredentials.

De credentialdoelen zijn onder meer:

  • GitHub-tokens en GitHub Actions OIDC-materiaal
  • npm-publicatietokens
  • AWS-credentials en instance metadata
  • Kubernetes service account-bestanden
  • HashiCorp Vault-tokens
  • Docker-authenticatiebestanden
  • SSH-sleutels en private keys
  • Database connection strings

Zodra de malware bruikbare npm-credentials vindt, kan die pakketten opsommen die het slachtoffer mag onderhouden, package tarballs aanpassen, een installatiehook toevoegen, versies ophogen en gecompromitteerde pakketten opnieuw publiceren onder een vertrouwde maintaineridentiteit.

Diagram dat toont hoe Mini Shai-Hulud zich verspreidt via gecompromitteerde npm-credentials en opnieuw gepubliceerde pakketten

Waarom Axios en TanStack ertoe doen

De AntV-golf staat niet op zichzelf. Het npm-ecosysteem heeft meerdere incidenten gezien waarbij aanvallers misbruik maken van vertrouwde maintainers, transitieve dependencies en CI/CD-automatisering.

De Axios-analyse van Datadog beschrijft hoe een aanvaller op 2026-03-31 een Axios-maintaineraccount kaapte en kwaadaardige axios-releases publiceerde die de getrojaniseerde dependency plain-crypto-js toevoegden. Die dependency downloadde en startte tijdens installatie een cross-platform remote access trojan.

Diagram dat de Axios npm-compromisketen toont via een getrojaniseerde dependency

De TanStack-analyse van Endor Labs geeft een andere les. TanStack gebruikte npm OIDC trusted publishing, dat langlevende statische npm-tokens verwijdert. De aanvaller kreeg alsnog een geldig publicatiepad via repository- en workflowmechanica. Het resultaat was kwaadaardige versies binnen de TanStack namespace met ogenschijnlijk geldige provenance.

De rode draad is niet één kapotte tool. Het is de hoeveelheid autoriteit die geconcentreerd zit in ontwikkelomgevingen en releaseworkflows.

npm is tegelijk verdedigingstool en aanvalspad

npm geeft verdedigers een centrale plek om pakketten te inspecteren, malware te markeren, releases te deprecaten en tokens in te trekken. Dat centrale model is beter dan ondoorzichtige losse downloads.

Maar npm geeft aanvallers ook een centrale distributielaag. Als een vertrouwd pakket een kwaadaardige versie publiceert, kunnen downstream gebruikers die ophalen via gewone installaties, lockfile-updates, CI-rebuilds of transitieve dependency-resolutie.

npm-functieDefensieve waardeWaarde voor de aanvaller
Centraal registerMaakt scanning, advisories en takedown mogelijkGeeft kwaadaardige versies brede distributie
Lifecycle scriptsOndersteunen package setup en native buildsVoeren aanvallercode uit tijdens installatie
MaintaineraccountsMaken snel publiceren mogelijkVeranderen één gecompromitteerde identiteit in veel vergiftigde pakketten
Trusted publishingVermindert blootstelling van langlevende tokensKan worden misbruikt als workflow of vertrouwensgrens is gecompromitteerd

De les is niet om npm te verlaten. De les is om automatisch vertrouwen te verminderen op elke plek waar code wordt uitgevoerd.

Wat teams nu moeten doen

Begin bij de build- en ontwikkelomgeving. Elke machine of CI-runner die een getroffen pakket installeerde, moet als blootgesteld worden behandeld totdat credentials zijn beoordeeld.

  1. Controleer lockfiles en package manager-logs op getroffen versies die op of na 2026-05-19 zijn geïnstalleerd
  2. Roteer npm-, GitHub-, cloud-, Vault-, SSH-, Docker- en databasecredentials die toegankelijk waren voor die systemen
  3. Audit maintainerpakketten op onverwachte versies, installatiehooks of toegevoegde git-dependencies
  4. Gebruik strikte lockfile-installaties zoals npm ci, pnpm install --frozen-lockfile of yarn install --frozen-lockfile
  5. Schakel lifecycle scripts uit waar dat praktisch kan met --ignore-scripts, vooral in CI-jobs die geen native builds nodig hebben
  6. Voeg dependency cooldowns of review gates toe zodat nieuw gepubliceerde pakketversies niet automatisch productie binnenkomen
  7. Monitor uitgaand verkeer vanuit CI en ontwikkelwerkstations op verdachte exfiltratiepaden

Deze controles verkleinen de kans dat één kwaadaardig pakket een publicatie-incident wordt in elk pakket dat een ontwikkelaar onderhoudt.

Waar cside past

cside is geen npm registry-scanner en vervangt CI/CD-hardening niet. Dependency scanning, lockfiles, tokenhygiëne en strikte releasecontroles blijven nodig.

cside dekt het browser-runtime deel van de supply chain. Veel productiesites laden third-party scripts, SDKs, tag manager-payloads, analytics-pakketten en dynamisch geleverde code die zich nooit gedraagt als een vaste npm-dependency. Een pakket of leverancier kan tijdens build legitiem lijken en later toch risicovol gedrag aan de browser leveren.

cside monitort scriptgedrag terwijl het in de browser van de gebruiker draait. Dat omvat scriptwijzigingen, onverwachte datatoegang, verdachte exfiltratiepogingen en browser-side activiteit die dependency-scanners niet zien zodra de code al in productie staat.

De juiste verdediging is gelaagd: beveilig het registrypad, harden CI, roteer secrets snel en monitor runtime-gedrag waar gebruikers de code daadwerkelijk uitvoeren.

Verder lezen op cside

Simon Wijckmans
Founder & CEO Simon Wijckmans

Founder and CEO of cside. Building better security against client-side executed attacks, and making solutions more accessible to smaller businesses. Web security is not an enterprise only problem.

FAQ

Frequently Asked Questions

Mini Shai-Hulud is een supply-chain-malwarepatroon dat misbruik maakt van vertrouwde publicatiepaden, installatiescripts en gestolen ontwikkelaarscredentials om meer pakketten te infecteren.

Socket meldde op 2026-05-19 639 gecompromitteerde pakketversies in 323 unieke pakketten, vooral in het AntV-ecosysteem. Die schaal is belangrijk omdat downstream teams kwaadaardige versies automatisch kunnen binnenhalen via normale dependency-updates.

Nee. cside vult dependency-scanners en CI-controls aan door scriptgedrag tijdens browser-runtime, scriptwijzigingen en data-exfiltratiepaden te monitoren die build-time tools niet zien.

Monitor en Beveilig Je Third-Party Scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start gratis, of probeer Business met een proefperiode van 14 dagen.

cside dashboard interface met script monitoring en beveiligingsanalytics
Related Articles
Boek een demo