senn-techsenn-tech
Sicherheit
Sicherheit2026-08-14· Von Franz Senn

Supply-Chain-Angriffe: npm und Rust im August 2026

Innerhalb weniger Tage im August 2026 trafen gezielte Supply-Chain-Angriffe gleich drei zentrale Ökosysteme: npm, Rust und GitLab. JavaScript-Entwickler luden trojanisierte Pakete, Rust-Builds zogen kompromittierte Crates nach, und eine schwere GitLab-Lücke ermöglichte unauthentifizierte Projekt-Manipulation. Gleichzeitig zeigte sich, dass tausende geleakte AWS-Schlüssel nach wie vor gültig sind.

Supply-Chain-KompromittierungKompromittierte Quellenpm / Rust / GitLabBuild/ImportPayload aktiviertSecrets gestohlenKeys, WalletsWeiterer ZugriffCI/CD, Cloud
Der typische Weg einer Supply-Chain-Kompromittierung: von der Quelle über Build oder Import bis zur lateralen Ausbreitung. (Quelle: Cyber Recaps)

npm: RedC2 4.0 auf dem Import-Pfad

14 npm-Pakete — erkennbar an den streak-*-Namen — installieren beim Import direkt den RedC2 4.0 Linux-Backdoor. Die Payload liegt im Installations- oder Modul-Initialisierungspfad, sodass sie ausgeführt wird, sobald eine Anwendung das Paket lädt. Ein aktiver Aufruf einer bösartigen Funktion ist nicht nötig; die bloße Präsenz im Dependency-Tree reicht.

VektorDetails
Paketnamenstreak-* (14 Pakete)
PayloadRedC2 4.0 Linux-Backdoor
AuslöserImport / Installation
ZielReverse-Shell, persistenter Zugriff

Das Muster ist klassisch: Angreifer schleusen scheinbar harmlose Hilfspakete ein und verlassen sich darauf, dass Entwickler den Code nicht manuell prüfen, bevor Build-Tools und Container ihn absorbieren.

Rust: Typosquatting im Build-Script

In der Rust-Welt wurden drei weit verbreitete Crates kompromittiert:

  • arrayref@0.3.10
  • internment@0.8.7
  • append-only-vec@0.1.9

Die Kompromittierung erfolgte über Typosquatting auf proc-macro1 durch die Gruppe Sapphire Sleet. Ein verändertes Build-Script lädt während cargo build zusätzlichen Code herunter und stiehlt so Credentials und Krypto-Wallets aus der Entwicklungsumgebung.

Besonders brisant: arrayref liegt in etwa 75 % der Rust-Cloud-Umgebungen vor. Ein einziger kompromittierter Crate mit solcher Verbreitung erreicht mehr Projekte als viele gezielte Einzelangriffe.

GitLab: CVE-2026-19478

GitLab erhielt mit CVE-2026-19478 eine CVSS-9.4-Lücke. Über eine GraphQL-Code-Injection können nicht authentifizierte Angreifer Projekte modifizieren oder löschen. Das ist kritisch, weil GitLab in vielen Organisationen nicht nur das Source-Repository, sondern auch die CI/CD-Pipeline verwaltet. Wer hier schreiben kann, kann Build-Konfigurationen, Secrets und Deployments verändern.

AWS-Schlüssel: geleakt und weiterhin gültig

Parallel dazu fand Truffle Security knapp 9.300 AWS-Schlüssel, die trotz öffentlicher Leaks noch gültig waren. Der Befund unterstreicht, dass das Rotieren kompromittierter Credentials nach wie vor die schwächste Stelle vieler Incident-Response-Prozesse ist.

Was jetzt hilft

  • Pinning und Hashes: Dependencies auf exakte Versionen plus Integritäts-Hashes festnageln.
  • Private Registries mit Scanning: npm- und Cargo-Pakete vor dem internen Gebrauch auf Schadcode prüfen.
  • Build-Sandboxing: cargo build und npm install in isolierten, ephemeren Umgebungen laufen lassen, ohne Zugriff auf Produktions-Credentials.
  • Credential-Rotation: Alle exponierten AWS-Schlüssel sofort ersetzen und Leak-Scanner in CI einbinden.
  • GitLab-Patches: CVE-2026-19478 umgehend einspielen und GraphQL-Zugriffe auditieren.

Weiterführende Quellen

Fragen?
Wie funktioniert der npm-Angriff mit den streak-*-Paketen?+

14 Pakete mit Namen wie streak-* führen beim Import sofort den RedC2 4.0 Linux-Backdoor aus. Der Schadcode liegt im Installations- oder Importpfad und öffnet eine Reverse-Shell, ohne dass die Anwendung aktiv eine bösartige Funktion aufrufen muss. Entwickler infizieren sich also schon durch `require()` oder `import`.

Warum sind die kompromittierten Rust-Crates besonders gefährlich?+

arrayref@0.3.10, internment@0.8.7 und append-only-vec@0.1.9 wurden über einen Typosquatting-Angriff auf proc-macro1 von Sapphire Sleet kompromittiert. Der Build-Script-Download stiehlt Credentials und Krypto-Wallets. arrayref liegt in rund 75 % der Rust-Cloud-Umgebungen vor — ein einziger kompromittierter Crate erreicht damit enorme Verbreitung.

Was ist die GitLab-Lücke CVE-2026-19478?+

CVE-2026-19478 erhält CVSS 9.4. Über eine Code-Injection-Schwachstelle in GraphQL können nicht authentifizierte Angreifer Projekte verändern oder löschen. Da GitLab oft das zentrale CI/CD-Repository ist, reicht ein Zugriff hier aus, um die gesamte Software-Lieferkette zu kontaminieren.