MalwareCyberkriminalitätSchwachstellen

36 gefälschte Strapi-Plugins in npm-Registry: Angreifer zielen auf Datenbanken und CI/CD-Pipelines

36 gefälschte Strapi-Plugins in npm-Registry: Angreifer zielen auf Datenbanken und CI/CD-Pipelines
Zusammenfassung

Sicherheitsforscher haben 36 bösartige Pakete in der npm-Registry entdeckt, die sich als Strapi-CMS-Plugins tarnen, aber verschiedene Malware-Varianten enthalten, um Redis- und PostgreSQL-Systeme auszubeuten, Reverse Shells einzuschleusen und persistente Hintertüren zu installieren. Die Pakete folgen einem raffinierten Muster: Sie nutzen die Namenskonvention „strapi-plugin-" gefolgt von harmlos klingenden Begriffen wie „cron", „database" oder „server", um Entwickler zum Download zu verleiten. Die Malware wird über Postinstall-Skripte aktiviert, die automatisch bei der Installation ausgeführt werden – ohne dass Nutzer eingreifen müssen. Dies ist besonders kritisch in CI/CD-Umgebungen und Docker-Containern, wo solche Scripts mit erhöhten Privilegien laufen. Experten vermuten, dass die Kampagne gezielt gegen Kryptowährungsplattformen gerichtet war. Die Entdeckung unterstreicht eine besorgniserregende Trend: Supply-Chain-Attacken sind zur dominierenden Bedrohung für die globale Cybersicherheit geworden. Für deutsche Entwickler, IT-Abteilungen und Unternehmen bedeutet dies ein erhebliches Risiko – insbesondere solche mit JavaScript-basierten Projekten oder Abhängigkeiten von npm-Paketen müssen ihre Systeme überprüfen und Anmeldedaten sofort zurücksetzen.

Die Entdeckung zeigt ein raffiniertes Angriffsmuster: Vier Accounts mit verdächtigen Namen – „umarbek1233”, „kekylf12”, „tikeqemif26” und „umar_bektembiev1” – luden die Pakete innerhalb von nur 13 Stunden hoch. Jedes Paket folgt einem identischen Schema: drei Dateien (package.json, index.js, postinstall.js), keine Beschreibung, kein Repository – aber eine Versionsnummer 3.6.8, um als etabliertes Community-Plugin zu wirken.

Die Namen sind perfekt gewählt, um Entwickler zu täuschen. Sie beginnen alle mit dem Prefix „strapi-plugin-” gefolgt von alltäglichen Modulnamen wie „cron”, „database” oder „server”. Der entscheidende Unterschied zu echten Strapi-Plugins: Diese sind unter dem Scope „@strapi/” registriert – ein Detail, das flüchtige Entwickler leicht übersehen.

Die eigentliche Malware verbirgt sich im postinstall-Script, das automatisch nach „npm install” ausgeführt wird. Dies ist ein klassisches Angriffsvektoren in der Open-Source-Welt: Während der Installation hat das Skript Vollzugriff, noch bevor der Nutzer den Code überprüfen kann.

Besonders interessant ist die Evolution der Payload-Strategien. SafeDep-Forscher dokumentieren acht verschiedene Angriffsvarianten, die eine klare Entwicklung zeigen: Der Angreifer begann mit aggressiven Methoden wie Redis-Remote-Code-Execution und Docker-Escape-Techniken, erkannte aber schnell, dass diese nicht funktionieren. Darauf folgte Umorientierung auf Aufklärung und Datendiebstahl, dann direkte Datenbankzugriffe mit hartcodierten Credentials, und letztlich die Installation persistenter Backdoors mit gezieltem Credential-Harvesting.

Dieses Muster deutet auf einen zielgerichteten Angriff hin – möglicherweise gegen eine Kryptowährungsplattform. Die Verwendung spezifischer gehärteter Datenbankzugriffe und Hostnamen spricht nicht für einen generischen Malware-Dropper, sondern für eine gut recherchierte, spezifische Kampagne.

Die Entdeckung unterstreicht einen beunruhigenden Trend: Supply-Chain-Angriffe haben sich zur dominanten Bedrohung entwickelt. Ein aktueller Report von Group-IB aus Februar 2026 warnt, dass Angreifer systematisch vertrauenswürdige Anbieter, Open-Source-Repositories und Browser-Extensions kompromittieren, um hunderte nachgelagerte Organisationen zu erreichen.

Npm und PyPI sind dabei Primärziele. Gestohlene Maintainer-Credentials und automatisierte Malware-Würmer verwandeln Entwicklungs-Pipelines in Verteilkanäle für Schadcode – mit großflächiger, grenzüberschreitender Wirkung. Nutzer betroffener Pakete sollten von Totalverlust ausgehen und alle Zugangsdaten rotieren.