Veröffentlicht am 13.07.2026
Ein einziger Befehl reicht. Wer zwischen dem 11. Juli 2026 nachmittags und dem frühen Abend eine bestimmte Version des populären npm-Pakets jscrambler installierte, holte sich ungewollt einen hochentwickelten Datendieb auf seinen Rechner – ganz ohne Zutun, ohne Klick, ohne Warnung. Ausgerechnet ein Werkzeug, das eigentlich für mehr Sicherheit sorgen soll, wurde zum Einfallstor. Das macht diesen Vorfall so brisant.
Betroffen sind fünf manipulierte Versionen (8.14.0, 8.16.0, 8.17.0, 8.18.0 und 8.20.0) eines Pakets mit rund 15.800 wöchentlichen Downloads. Der eingeschleuste Schadcode ist ein sogenannter Infostealer – ein Programm, das gezielt Zugangsdaten, Passwörter und Krypto-Guthaben stiehlt. Und er zielt genau auf jene Umgebungen, in denen die wertvollsten Geheimnisse liegen: Entwickler-Arbeitsplätze und automatisierte Build-Pipelines.
Das Paket jscrambler ist das offizielle Kommandozeilen-Werkzeug (CLI) für das Code-Integrity-Produkt des gleichnamigen Sicherheitsanbieters, mit dem sich JavaScript-Code unkenntlich machen (obfuskieren) lässt. Es wird typischerweise als Entwicklungsabhängigkeit in CI/CD-Build-Pipelines eingesetzt – also in den automatisierten Prozessen, die Software bauen und ausliefern.
Am 11. Juli 2026 um 15:12:40 UTC veröffentlichte ein unbekannter Angreifer die manipulierte Version 8.14.0 im npm-Registry, dem zentralen Verzeichnis für JavaScript-Pakete. Dafür nutzte er einen gestohlenen Publishing-Zugang des legitimen Kontos „jscrambler_". Jscrambler bestätigte das in seiner offiziellen Stellungnahme:
„The attacker was able to publish the package using an npm publishing credential. We have revoked and rotated all relevant credentials, passwords, and secrets, and have implemented additional security controls around our publishing process while the investigation continues."
– Jscrambler, Security Advisory
Der Sicherheitsdienstleister Socket.dev erkannte die Manipulation bereits sechs Minuten nach der Veröffentlichung und meldete sie den Maintainern über einen öffentlichen GitHub-Issue. Doch der Angreifer gab nicht auf: Innerhalb von rund drei Stunden veröffentlichte er insgesamt fünf schadhafte Versionen – und passte seine Taktik dabei aktiv an die Gegenmaßnahmen an.
In der ersten Phase (Versionen 8.14.0, 8.16.0, 8.17.0) fügte der Angreifer einen sogenannten preinstall-Hook ein – ein Skript, das automatisch beim bloßen Befehl npm install ausgeführt wird, noch bevor der Nutzer irgendetwas mit dem Paket macht. Das Socket Research Team beschreibt die Gefahr deutlich:
„Because the malicious code runs through a preinstall hook, simply installing jscrambler@8.14.0 is enough to trigger the bundled platform-specific binary. Users do not need to import the package or run the Jscrambler CLI. This creates potential exposure across developer workstations, automated build systems, and CI environments."
– Socket Research Team
Nachdem Jscrambler eine erste saubere Version (8.15.0) nachschob, reagierte der Angreifer nur 19 Minuten später mit der nächsten manipulierten Version. Ab Version 8.18.0 wechselte er dann die Strategie: Statt eines Install-Hooks baute er den Schadcode direkt in die Hauptdateien des Pakets (dist/index.js und dist/bin/jscrambler.js) ein – als selbstausführende Funktion, die beim Einbinden oder Aufrufen des Pakets startet. Socket.dev bezeichnet das als gezielte Umgehung:
„This is a deliberate evasion: it defeats scanners that only inspect preinstall/postinstall scripts and survives npm install --ignore-scripts."
– Socket Research Team
Das bedeutet: Selbst die gängige Schutzmaßnahme, Install-Skripte zu deaktivieren, half bei den späteren Versionen nicht mehr. Zusätzlich bauten die Versionen 8.18.0 und 8.20.0 eine Selbst-Abhängigkeit ein, um verseuchte Versionen indirekt nachzuladen.
Der eigentliche Schadcode ist ein in der Programmiersprache Rust geschriebener, plattformübergreifender Infostealer – er funktioniert auf Linux, Windows und macOS gleichermaßen. Verpackt in einem rund 7,8 MB großen Container, entpackt er auf dem jeweiligen System eine versteckte ausführbare Datei und startet sie im Hintergrund.
Die Liste der Angriffsziele ist außergewöhnlich breit:
Die gestohlenen Daten werden verschlüsselt an zwei fest einprogrammierte Server-Adressen (37.27.122.124 und 57.128.246.79) sowie über das Tor-Netzwerk abtransportiert. Auf Windows und macOS sorgt der Schädling für Persistenz – er startet sich auf Windows alle 60 Sekunden und auf macOS alle 30 Sekunden neu, um dauerhaften Zugriff zu behalten. Auf Linux nutzt er sogar eine fortgeschrittene Technik (eBPF), die ihm Zugriff auf Kernel-Ebene verschafft – weit mehr, als ein typischer Datendieb kann.
Direkt gefährdet sind alle, die zwischen dem Nachmittag und Abend des 11. Juli 2026 eine der folgenden Versionen installiert oder in ihren Build-Prozess gezogen haben: 8.14.0, 8.16.0, 8.17.0, 8.18.0 oder 8.20.0. Version 8.13.0 und älter sowie 8.22.0 (die aktuelle, saubere Version) sind nicht betroffen. Auch die Versionen 8.15.0 (erste Remediation) sind sauber.
Ein wichtiger Zeitbezug: npm 12 wurde am 8. Juli 2026 – nur drei Tage vor dem Angriff – veröffentlicht und deaktiviert Install-Skripte standardmäßig. Ältere npm-Clients führen preinstall-Hooks jedoch weiterhin automatisch aus. Swati Khandelwal von The Hacker News fasst das Timing zusammen:
„What makes the timing here sharp is that npm had just moved against this exact route: npm 12 shipped on July 8, three days before this release, with dependency install scripts off by default. Older clients still run them automatically."
package-lock.json oder yarn.lock nach den betroffenen Versionen suchen. Befehl: grep -r 'jscrambler' package-lock.json yarn.locknpm list jscrambler ausführen.ls -lh node_modules/jscrambler/dist/intro.js – eine Dateigröße von etwa 7,8 MB ist ein klares Warnsignal. Saubere Versionen enthalten diese Datei gar nicht.dist/setup.js oder verdächtige Node.js-Kindprozesse während der Installation durchsehen./tmp/, auf Windows zufällig benannte .exe-Dateien im %TEMP%-Verzeichnis. Achtung: Die Datei kann bereits gelöscht worden sein.schtasks /query /fo LIST nach versteckten Aufgaben mit Minutenintervall; auf macOS ~/Library/LaunchAgents/ auf unbekannte .plist-Dateien.npm install jscrambler@8.22.0 ausführen und das Lockfile committen. Verwenden Sie eine exakte Version – keine Bereiche mit Caret (^) oder Tilde (~), da im Bereich 8.14.0–8.22.0 saubere und verseuchte Versionen gemischt sind.npm cache clean --force ausführen, node_modules löschen und neu installieren.Dieser Angriff ist kein Einzelfall, sondern Teil eines wachsenden Trends. Laut dem Verizon 2025 Data Breach Investigations Report waren 30 % aller Datenpannen 2025 mit Drittparteien verbunden – eine Verdopplung gegenüber dem Vorjahr. Sonatype identifizierte 2025 über 454.600 neue schadhafte Open-Source-Pakete (+75 %). Reflectiz bringt die eigentliche Pointe des Falls auf den Punkt:
„The victim is a security vendor. Jscrambler sells client-side protection and supply chain security. Its own npm distribution channel was the vector. No vendor category is exempt from supply chain risk, including the vendors you buy to manage it."
Für deutsche Unternehmen ist die datenschutzrechtliche Dimension entscheidend. Wurde eine verseuchte jscrambler-Version auf einem System installiert, das personenbezogene Daten verarbeitet, und lässt sich ein Datenabfluss nicht mit hinreichender Sicherheit ausschließen, greift die Meldepflicht nach Art. 33 DSGVO: Die zuständige Aufsichtsbehörde ist innerhalb von 72 Stunden nach Kenntnisnahme zu informieren.
Da der Infostealer gezielt Browser-Passwörter, Cookies und Cloud-Zugangsdaten stiehlt, ist bei betroffenen Entwicklungsumgebungen mit Zugriff auf Produktionssysteme von einem erheblichen Risiko auszugehen. Bei hohem Risiko für betroffene Personen müssen diese zusätzlich nach Art. 34 DSGVO informiert werden. Bußgelder können bis zu 10 Mio. EUR bzw. 2 % des weltweiten Jahresumsatzes (Art. 83 Abs. 4) oder sogar bis zu 20 Mio. EUR bzw. 4 % (Art. 83 Abs. 5) betragen.
Für Unternehmen, die unter die NIS2-Richtlinie fallen, ist Supply-Chain-Security eine explizite Pflichtanforderung – hier gelten gestufte Meldefristen von 24 und 72 Stunden.
Praktische Empfehlung: Wenn Sie jscrambler in Ihrer Entwicklungsumgebung einsetzen, prüfen Sie unverzüglich, ob eine kompromittierte Version installiert war. Bei positivem Befund sollten Sie Ihren Datenschutzbeauftragten konsultieren, um die Meldepflicht sauber zu bewerten.
Der jscrambler-Vorfall zeigt in aller Deutlichkeit, dass moderne Angriffe längst nicht mehr über die Vordertür kommen. Ein gestohlener Publishing-Zugang genügte, um innerhalb weniger Stunden fünf verseuchte Versionen zu verbreiten – vollautomatisch ausführbar, plattformübergreifend, mit Kernel-Zugriff und einer breiten Palette an Diebstahlzielen. Positiv ist: Die Erkennung durch Socket.dev nach nur sechs Minuten und die schnelle Reaktion von Jscrambler begrenzten den Schaden erheblich.
Für Sie als Website-Betreiber oder IT-Verantwortlichen bleibt die klare Handlungsanweisung: Prüfen Sie jetzt Ihre Abhängigkeiten, aktualisieren Sie auf Version 8.22.0, rotieren Sie im Zweifel alle Zugangsdaten – und behandeln Sie jede Software von Dritten grundsätzlich als potenzielles Risiko. Denn wie dieser Fall beweist: Selbst der Sicherheitsanbieter ist nicht immun.