Am 8. September 2025 wurden mehrere äußerst populäre npm-Pakete – darunter chalk, debug, ansi-styles, color-convert, strip-ansi und supports-color – kompromittiert und mit Schadcode neu veröffentlicht.
Diese Pakete stellen grundlegende Abhängigkeiten im JavaScript-Ökosystem dar und verzeichnen zusammen Milliarden von Downloads pro Woche. Die bösartigen Versionen blieben etwa 2,5 Stunden lang im npm-Registry online, bevor sie entfernt wurden.
Aufgrund der Popularität dieser Pakete und ihrer Verwendung als transitive Abhängigkeiten ist das potenzielle Ausmaß der Gefährdung extrem groß und betrifft sowohl Anwendungsentwickler als auch Endnutzer.
| Datum | 09.09.2025 13:17:45 |
Technische Zusammenfassung
Die Kompromittierung ging von einer gezielten Phishing-Kampagne gegen den Maintainer der Pakete aus. Die Angreifer versendeten E-Mails, die den npm-Support imitierten, und nutzten eine gefälschte Domain (npmjs.help), um den Maintainer zu täuschen und seine Anmeldedaten zu erlangen. Sobald der Zugriff auf das Konto kompromittiert war, konnten die Angreifer bösartige Versionen der betroffenen Pakete direkt im npm-Registry veröffentlichen.
Die kompromittierten Pakete enthielten verschleierten Schadcode, der sowohl den Netzwerkverkehr als auch Anwendungs-APIs abfing und hauptsächlich auf Kryptowährungs-Operationen abzielte, indem er:
- APIs im Zusammenhang mit Kryptowährungen hookte;
- Wallet-Adressen und Transaktionsdetails ausspähte;
- Legitime Wallet-Ziele durch von den Angreifern kontrollierte Adressen ersetzte;
Kompromittierte Pakete und die entsprechenden Versionen:
| Name | Version |
|---|---|
| ansi-regex | 6.2.1 |
| ansi-styles | 6.2.2 |
| backslash | 0.2.1 |
| chalk | 5.6.1 |
| chalk-template | 1.1.1 |
| color-convert | 3.1.1 |
| color-name | 2.0.1 |
| color-string | 2.1.1 |
| debug | 4.4.2 |
| error-ex | 1.3.3 |
| has-ansi | 6.0.1 |
| is-arrayish | 0.3.3 |
| simple-swizzle | 0.2.3 |
| slice-ansi | 7.1.1 |
| strip-ansi | 7.1.1 |
| supports-color | 10.2.1 |
| supports-hyperlinks | 4.1.1 |
| wrap-ansi | 9.0.1 |
Empfehlungen
- Identifizierung und Entfernung kompromittierter Versionen: Scannen Sie Ihre Umgebung auf die oben aufgeführten Pakete und Versionen und leeren Sie die Caches von
npm/yarn/pnpm. - Verwendung von Lock-Dateien erzwingen: Fixieren Sie Versionen (
package-lock.json,yarn.lock,pnpm-lock.yaml), um konsistente und verifizierte Abhängigkeitsversionen über Umgebungen hinweg sicherzustellen und die versehentliche Installation bösartiger Updates zu verhindern. - Stärkung der Supply-Chain-Sicherheit: Implementieren Sie eine strikte Überwachung der Abhängigkeiten, nutzen Sie SBOMs zur Nachverfolgung möglicher Gefährdungen und setzen Sie für Maintainer-Konten eine Zwei-Faktor-Authentifizierung (2FA) mit Hardware-Schlüsseln durch.
[Callforaction-THREAT-Footer]
Leave a Reply