Je ontwikkelaars typen `npm install` of `pip install` en binnen seconden is malware op je netwerk. Supply chain aanvallen via package managers zijn een groeiende bedreiging. En de meeste bedrijven hebben er geen idee van.
π¦ Wat zijn supply chain aanvallen?
Moderne software wordt niet vanaf nul gebouwd. Ontwikkelaars gebruiken duizenden externe packages:
- π’ NPM β JavaScript/Node.js packages (2+ miljoen packages)
- π PyPI β Python packages (500.000+ packages)
- π RubyGems β Ruby packages
- π¦ Maven β Java packages
Het probleem? Iedereen kan een package publiceren. En niet iedereen heeft goede bedoelingen.
β οΈ Real-world incident: event-stream
In 2018 werd het populaire NPM package "event-stream" (2 miljoen downloads per week) overgenomen door een aanvaller. Hij voegde malware toe die cryptocurrency wallets stal.
Impact: Duizenden bedrijven installeerden de malafide versie voordat het werd ontdekt. Miljoenen euro's aan cryptocurrency gestolen.
π― De 4 meest voorkomende aanvalstechnieken
1. Typosquatting
Aanvallers publiceren packages met namen die lijken op populaire packages:
- β
reqeustsin plaats vanrequests(Python) - β
cross-envin plaats vancrossenv(NPM) - β
babelcliin plaats vanbabel-cli(NPM)
Een simpele typefout en je installeert malware in plaats van de legitieme package.
2. Dependency confusion
Bedrijven gebruiken vaak private packages met dezelfde naam als publieke packages. Aanvallers publiceren een publieke versie met een hoger versienummer.
Package managers installeren dan de publieke malafide versie in plaats van je private package.
3. Compromised maintainers
Aanvallers hacken de accounts van package maintainers en publiceren malafide updates van legitieme packages.
Omdat het package zelf legitiem is, vertrouwen ontwikkelaars de update β en installeren malware.
4. Abandoned packages
Populaire packages worden soms niet meer onderhouden. Aanvallers bieden aan om het over te nemen, krijgen toegang, en voegen malware toe.
π¨ Wat doet de malware?
Malafide packages kunnen van alles doen:
| Malware type | Wat het doet |
|---|---|
| Credential stealers | Steelt environment variables (API keys, passwords, tokens) |
| Backdoors | Geeft aanvallers permanente toegang tot je systemen |
| Cryptominers | Gebruikt je servers om cryptocurrency te minen |
| Data exfiltration | Stuurt broncode en data naar externe servers |
| Ransomware | Versleutelt je bestanden en vraagt losgeld |
π‘οΈ Hoe bescherm je je tegen supply chain aanvallen?
Voor ontwikkelaars:
- β Controleer package namen β let op typefouten
- β Check populariteit β vermijd packages met weinig downloads
- β Review dependencies β bekijk wat een package installeert
- β Pin versies β gebruik exacte versienummers, niet "latest"
- β Gebruik lock files β package-lock.json, requirements.txt
- β Scan met tools β npm audit, pip-audit, Snyk
Voor IT/security teams:
- β Private package registry β host je eigen packages intern
- β Package scanning β automatisch scannen op malware
- β Netwerk-level blokkering β blokkeer bekende malafide packages
- β Monitoring β detecteer ongebruikelijke downloads
- β Segmentatie β isoleer development omgevingen
π Hoe CleanInternet.nl helpt
CleanInternet.nl kan supply chain aanvallen niet volledig voorkomen (dat kan niemand), maar we kunnen wel meerdere lagen bescherming bieden:
π‘οΈ Beschermingslagen
- β DNS filtering β blokkeert command & control servers waar malware naartoe belt
- β TLS inspectie β detecteert data-exfiltratie via HTTPS
- β Behavioral analysis β detecteert ongebruikelijke uitgaande verbindingen
- β File filtering β blokkeert downloads van bekende malware
- β Monitoring β zie welke externe verbindingen je development machines maken
Het idee: zelfs als een malafide package wordt geΓ―nstalleerd, kan het niet naar buiten bellen om credentials te stelen of malware te downloaden.
π De impact van supply chain aanvallen
Supply chain aanvallen zijn geen theoretisch risico. Ze gebeuren dagelijks:
- π 700% toename in malafide NPM packages sinds 2020
- π― 1 op de 8 bedrijven getroffen door supply chain aanval in 2025
- π° β¬4,2 miljoen gemiddelde kosten per incident
- β±οΈ 287 dagen gemiddelde tijd om een supply chain aanval te detecteren
β Conclusie: vertrouw, maar verifieer
Open source software is geweldig β het maakt ontwikkeling sneller en goedkoper. Maar het vereist wel waakzaamheid.
De oplossing is niet stoppen met NPM of Python (dat is onpraktisch), maar meerdere verdedigingslagen implementeren: code review, scanning, netwerk-beveiliging, en monitoring.
Want in de wereld van supply chain aanvallen geldt: vertrouw, maar verifieer.