Der GitHub-Account des Maintainers der Key‑Value‑Datenbank keyv wurde am 4. August im Rahmen einer Shai-Hulud-Lieferkettenattacke kompromittiert. Ein Großteil der betroffenen Pakete ist mittlerweile zwar entfernt, der Angriff birgt aber ein enormes Schadenspotenzial. Er erstreckt sich auf die komplette Paketfamilie von keyv, die es monatlich zusammen auf mehr als 2 Milliarden Downloads bringt.
Zu den betroffenen npm-Paketen gehören neben keyv 6.0.0, das pro Monat im Schnitt etwa 600 Millionen Downloads verzeichnet, auch folgende weitere Pakete des keyv-Maintainers: flat-cache 6.1.24, file-entry-cache 11.1.6, cacheable-request 13.0.20, cacheable 2.5.1, @cacheable/memory 2.2.1, cache-manager 7.2.10, @cacheable/node-cache 3.1.2 und @cacheable/utils 2.5.1.
Über diese Kernpakete verbreitete sich der Wurm aktiv weiter auf Pakete anderer Maintainer und Organisationen, etwa @deliveroo/reevent, @or-sdk/invitations, @picsart/ai-sdk, @qlik/embed-runtime und picasso.js.
Am 5. August identifizierten die IT-Forscher von Aikido Security 1381 bösartige Versionen von 444 npm-Paketen. Socket zählt in seinem Live-Tracker inzwischen mehr als 2400 infizierte Paketartefakte. Die kompromittierten Pakete enthalten eine Mini-Shai-Hulud-Variante, der StepSecurity den Namen ChainDrop gegeben hat.
Schadcode mit Autostart
Bei der Lieferkettenattacke erhielt jedes der kompromittierten Pakete mit setup.mjs und Math_Symbol.js zwei neue Dateien sowie den neuen Eintrag "preinstall": "node setup.mjs" in der package.json-Datei. Ein npm install startet den Schadcode dann automatisch. Dabei lädt der stark verschleierte Dropper setup.mjs die Bun‑JavaScript‑Runtime herunter und führt mit Bun den eigentlichen Schadcode Math_Symbol.js aus.
Auf betroffenen Systemen suchen die bösartigen Paketversionen im Anschluss an die Installation nach einer breiten Palette von Zugangsdaten. Im Fokus stehen beispielsweise GitHub‑, npm‑ und HashiCorp-Vault-Tokens, AWS‑ und Microsoft-Azure-Credentials, Logins für Stripe und Slack sowie Kubernetes-Secrets.
Die gesammelten Daten verschlüsselt der Wurm und lädt sie anschließend in öffentliche GitHub-Repositories hoch, die die Angreifer kontrollieren, zu erkennen an der Zeile „Shai‑Hulud: Here We Go Again“ im Readme.md. Über gestohlene npm-Token kann sich die Malware selbst weiterverbreiten.
Der ChainDrop-Angriff reiht sich in die mittlerweile lange Liste der Shai-Hulud-Lieferkettenangriffe ein. Seit April dieses Jahres waren unter anderem npm-Pakete von SAP und TanStack sowie die Managed-Cloud-Services von Red Hat betroffen. Die Cybergang TeamPCP veröffentlichte Mitte Mai den Quellcode des npm-Wurms Shai-Hulud auf GitHub und rief zu einem Wettbewerb um den größten Supply-Chain-Angriff auf.
(mro)











English (US) ·