Veröffentlicht am 31.07.2026
Ein einziger Import in Ihren Code – und ein Trojaner übernimmt den Rechner Ihres Entwicklers. Genau das ist am 28. Juli 2026 zwei weit verbreiteten npm-Paketen widerfahren: @joyfill/components und @joyfill/layouts. Angreifer schleusten für wenige Stunden bösartige Beta-Versionen in die npm-Registry (das zentrale Software-Verzeichnis für JavaScript- und Node.js-Projekte). Wer eine dieser Versionen in seinen Build- oder Testprozess einband, riskierte die vollständige Kompromittierung seines Systems – ohne dass ein Klick oder eine bewusste Ausführung nötig war.
Die Pakete werden regulär rund 16.000-mal pro Woche heruntergeladen. Sie stecken in vielen Anwendungen, ohne dass Unternehmen es bewusst wahrnehmen. Sicherheitsforscher schreiben den Angriff dem nordkoreanischen Bedrohungsakteur „PolinRider" zu – dieselbe Gruppe, die auch hinter der berüchtigten „Contagious Interview"-Kampagne steht. Dieser Artikel erklärt, was passiert ist, ob Sie betroffen sein könnten und was Sie jetzt konkret tun müssen.
Am 28. Juli 2026 veröffentlichten Angreifer manipulierte Beta-Versionen der beiden legitimen npm-Pakete. Konkret betroffen sind:
Diese Versionen enthielten eine hochgradig verschleierte, fünfstufige Schadsoftware-Kette. Das Besonders Gefährliche daran: Der Schadcode wird nicht erst über ein sogenanntes postinstall-Skript (ein Skript, das automatisch nach der Installation läuft) aktiv, sondern bereits beim bloßen Importieren des Pakets in ein Node.js-Projekt – etwa per require() oder import.
Das bedeutet: Es reicht ein einziger Unit-Test, ein Bundler-Lauf, ein Start des Entwicklungsservers oder ein Produktions-Deployment, um die Malware auszulösen. Varun Sharma vom Sicherheitsanbieter StepSecurity bringt es auf den Punkt:
„Der Code ist in die Paket-Einstiegsbündel einkompiliert und wird in dem Moment ausgeführt, in dem ein Projekt das Paket importiert: ein Unit-Test, ein Bundler-Lauf, ein Dev-Server oder ein Produktions-Deploy." – Varun Sharma, StepSecurity
Das Socket Research Team warnt zusätzlich:
„Die @joyfill/layouts-Version sollte als fähig zur beliebigen Codeausführung im Kontext jedes Prozesses betrachtet werden, der sie lädt. Das umfasst Entwicklungsumgebungen, CI-Runner, Test-Tooling, Server-seitiges Rendering und Builds." – Socket Research Team
Immerhin: Die Maintainer reagierten schnell. Ab 13:57 UTC stellten sie saubere Versionen bereit, gegen 21:00 UTC wurden die bösartigen Versionen aus der npm-Registry entfernt. Aber Achtung: Auf Caches, Mirrors und in bereits erstellten Build-Images können die schädlichen Pakete weiterhin vorhanden sein. Das Zeitfenster war kurz, aber real.
Der Angriff ist bemerkenswert raffiniert aufgebaut und läuft in fünf Stufen ab. Wir erklären sie so einfach wie möglich:
A9-0135-3) wählt die Malware den passenden Steuerungsserver (Command-and-Control-Server, kurz C2), etwa unter der IP-Adresse 166.88.134.62.npm/lib/cli.js) – ein wurmartiges Verhalten, das die Ausbreitung auf weitere Projekte ermöglicht.Warum dieser aufwendige Umweg über die Blockchain? Das SafeDep-Team erklärt es so:
„Der Angriff verzögert das HTTP-C2-Beacon bis Stufe 2 und leitet es durch zwei Runden von Blockchain-Abfragen, bevor die C2-Server-URLs überhaupt gesetzt sind ... Das erschließt die Erkennung in frühen Stadien durch Netzwerküberwachung deutlich schwerer." – SafeDep Team
Kurz gesagt: Die Angreifer verstecken ihre Steuerungsinfrastruktur hinter legitimem Blockchain-Verkehr, sodass klassische Sicherheitswerkzeuge kaum Verdacht schöpfen.
Grundsätzlich gefährdet ist jedes Unternehmen, dessen Entwickler oder Build-Systeme im kurzen Zeitfenster am 28. Juli 2026 eine der genannten bösartigen Versionen gezogen haben. Besonders im Fokus stehen:
Wichtig zu verstehen: Der Angriff zielt nicht auf normale Website-Besucher, sondern auf Entwickler und die Systeme, auf denen Software gebaut wird. Genau deshalb ist er so gefährlich – über gestohlene Zugangsdaten kann sich der Schaden schnell auf Ihre gesamte Cloud-Infrastruktur ausweiten. Diese Angriffsform nennt man Supply-Chain-Angriff: Nicht Sie selbst werden direkt angegriffen, sondern ein Baustein in Ihrer Software-Lieferkette.
Zur Einordnung der Dimension: Die PolinRider-Kampagne umfasst laut Berichten mindestens 108 bösartige Pakete über die Plattformen npm, Packagist, Go und Chrome hinweg. Auch Amazon Threat Intelligence bestätigt den Zusammenhang:
„Amazon Threat Intelligence hat mehrere kürzliche Kompromittierungen beliebter Node-Package-Manager-(NPM)-Bibliotheken mit demselben DPRK-verknüpften Bedrohungsakteur in Verbindung gebracht." – Amazon Threat Intelligence
Gehen Sie diese vier Schritte durch – am besten gemeinsam mit Ihrem technischen Team oder Dienstleister:
package-lock.json, yarn.lock und pnpm-lock.yaml (Dateien, die exakt festhalten, welche Paketversionen installiert wurden) nach den Versionen 0.1.2-2773.beta.* und 4.0.0-rc24-2773-beta.*.166.88.134.62, 23.27.13.43, 198.105.127.210 oder 23.27.202.27 sowie auf API-Aufrufe zu api.trongrid.io oder bsc-dataseed.binance.org.npm/lib/cli.js) auf verdächtige Code-Einschleusungen mit Markern wie /*C250617A*/.%USERPROFILE%\.npm (Windows) oder /tmp/.npm (Linux/macOS).Wenn Sie Anzeichen einer Kompromittierung finden – oder auch nur den Verdacht haben, betroffen zu sein – handeln Sie umgehend nach diesen Schritten:
@joyfill/layouts@0.1.1 und @joyfill/components@4.0.0-rc24. „Pinnen" bedeutet, dass genau diese Version verwendet wird und nicht automatisch aktualisiert wird.Der Vorfall ist nicht nur ein IT-Sicherheitsproblem, sondern kann auch datenschutzrechtliche Pflichten auslösen. Der eingesetzte Infostealer OmniStealer greift umfassend Zugangsdaten und Sitzungen ab – auch zu Cloud-Diensten und Datenbanken. Damit ist ein Abfluss personenbezogener Daten (etwa Kunden- oder Mitarbeiterdaten) sehr wahrscheinlich.
Daraus ergeben sich zwei zentrale Pflichten:
Dokumentieren Sie den gesamten Vorfall lückenlos – von der Entdeckung über die ergriffenen Maßnahmen bis zur Wiederherstellung. Diese Dokumentation ist im Ernstfall gegenüber der Aufsichtsbehörde entscheidend.
Der Schweregrad dieses Vorfalls ist kritisch. Das Risiko für kleine und mittlere Unternehmen ist besonders hoch, weil der Angriff keine bewusste Benutzerinteraktion nach der Installation erfordert – er löst beim ganz normalen Build- oder Testprozess aus. Ein erfolgreicher Angriff führt zur vollständigen Übernahme des Entwickler-Rechners und potenziell Ihrer gesamten Cloud-Infrastruktur über gestohlene Zugangsdaten.
Der Fall zeigt einmal mehr, wie verwundbar moderne Software-Lieferketten sind. Sie verwenden vermutlich Dutzende oder Hunderte fremder Pakete, ohne deren Code je gesehen zu haben. Genau hier setzen die Angreifer an. Deshalb gilt: Automatisierte Sicherheitsprüfungen Ihrer Abhängigkeiten, das Pinnen von Versionen und ein wachsames Auge auf ungewöhnlichen Netzwerkverkehr sind keine Kür, sondern Pflicht.
Die Kompromittierung von @joyfill/components und @joyfill/layouts war zwar nur wenige Stunden aktiv, aber hochgefährlich. Weil die schädlichen Pakete auf Caches und in Build-Images fortbestehen können, ist die Bedrohung nicht mit ihrer Entfernung aus npm gebannt. Prüfen Sie jetzt Ihre Lockfiles, entfernen Sie kompromittierte Versionen restlos, pinnen Sie auf saubere Versionen und rotieren Sie im Verdachtsfall konsequent alle Zugangsdaten. Vergessen Sie dabei nicht die 72-Stunden-Meldefrist nach der DSGVO, falls personenbezogene Daten betroffen sein könnten.
Wenn Sie unsicher sind, ob und wie stark Ihr Unternehmen betroffen ist, holen Sie sich frühzeitig fachliche Unterstützung. Bei einem Vorfall dieser Kategorie zählt jede Stunde – und ein schnelles, strukturiertes Vorgehen entscheidet darüber, ob aus einem Sicherheitsvorfall ein Totalschaden wird.