Forscher von Socket haben eine ausgeklügelte Supply-Chain-Angriffskampagne identifiziert, bei der neun schädliche NuGet-Pakete zeitverzögerte, probabilistische Sabotageroutinen in ansonsten legitime .NET-Bibliotheken einbetten.
Die Pakete, die vor ihrer Entdeckung 9.488-mal heruntergeladen wurden, verwenden verborgene Auslöser, um Hostprozesse zu beenden und in einem Fall Schreibvorgänge in industriellen Steuerungssystemen zu beschädigen.
Von der Bibliothek zur Haftung
Die schädlichen Pakete wurden zwischen 2023 und 2024 unter dem Alias shanhai666 veröffentlicht.
Jedes schädliche Paket liefert echte, funktionsfähige Funktionalität, um Vertrauen aufzubauen und einer oberflächlichen Prüfung zu entgehen, während es etwa 20 Zeilen Schadcode verbirgt.
Der Akteur missbraucht C#-Erweiterungsmethoden (z. B. .Exec() für Datenbankbefehle und .BeginTran() für S7-SPS-Clients), sodass jede Datenbankabfrage oder SPS-Operation implizit die eingeschleuste Logik ausführt.
Nach fest codierten (oder verschlüsselten) Auslöserdaten berechnet die Payload eine Zufallszahl und ruft Process.GetCurrentProcess().Kill() auf, wodurch die Anwendung abrupt beendet wird.
Die Auslöserdaten sind zeitlich gestaffelt – einige Pakete werden erst 2027 oder 2028 aktiv –, wodurch sich das Zeitfenster des Akteurs verlängert, um Opfer zu erfassen, bevor die Kampagne entdeckt wird.
Sharp7Extend, das gefährlichste Paket der Kampagne, kombiniert zwei Sabotagemodi.
- Eine sofortige probabilistische Prozessbeendigung bei jeder SPS-Operation (aktiv bis zum 6. Juni 2028)
- Ein verzögerter Mechanismus für Schreibfehler, der nach einer 30- bis 90-minütigen Schonfrist bei bis zu 80 % der Schreibversuche unbemerkt fehlerhafte Ergebnisse zurückgibt.
Dieses Verhalten beschädigt SPS-Schreibvorgänge, ohne offensichtliche Fehlermeldungen zu erzeugen, und birgt das Risiko ausbleibender Aktuatorreaktionen, nicht ausgelöster Sicherheitsfunktionen und unbemerkter Produktionsabweichungen – Effekte, die eher intermittierende Hardwareprobleme als einen gezielten Angriff imitieren.
Warum die Erkennung schwierig ist
Mehrere Faktoren erschweren die Erkennung dieser Pakete:
- Der Großteil des Codes ist legitim und nützlich und besteht daher Funktionstests und Codeprüfungen.
- Typosquatting (Sharp7 → Sharp7Extend) erhöht die Wahrscheinlichkeit versehentlicher Installationen in OT-Umgebungen.
- Gebündelte legitime Bibliotheken beseitigen offensichtliche Warnsignale während der Integrationstests.
- Die randomisierte, probabilistische Aktivierung tarnt systematische Eingriffe als zufällige Ausfälle.
- Lange Zeitspannen zwischen Installation und Aktivierung erschweren die forensische Zuordnung, sobald die Auswirkungen beobachtet werden.
Der Angreifer variierte absichtlich die Autorenmetadaten und fälschte Signaturartefakte, um automatisierte Heuristiken zu behindern.
Resilienz der Software-Lieferkette stärken
Der Schutz vor der NuGet-Kampagne erfordert sofortige Maßnahmen und eine langfristig widerstandsfähige Lieferkette.
- Jetzt Abhängigkeiten prüfen: .NET-Pakete inventarisieren und alle neun identifizierten Pakete sofort entfernen oder ersetzen.
- Saubere Abhängigkeiten durchsetzen: Verifizierte Herausgebermetadaten verlangen, typosquattete Namen ablehnen und Paketquellen auf freigegebene Registries beschränken.
- Beim Build und vor dem Mergen scannen: SBOM-Prüfungen und statische Analysen in CI/CD-Pipelines integrieren, um zeitbasierte Logik, ungewöhnliche Erweiterungsmethoden oder verschleierten Auslösercode zu erkennen.
- Auf probabilistische und zeitbasierte Logik überwachen: Bei Datumsprüfungen, randomisierten Kontrollflüssen oder einer ungewöhnlichen Verwendung von Process.Kill() und Erweiterungsmethoden in Abhängigkeiten Alarm auslösen.
- Integrität von ICS validieren: In industriellen Umgebungen eine Schreibverifizierung für SPS-Befehle implementieren, Erfolgsraten von SPS-Befehlen als Referenzwerte festlegen und auf plötzliche Rückgänge bei Schreibbestätigungen überwachen.
- Richtlinien für die Software-Lieferkette härten: Das Prinzip der geringsten Rechte bei der Paketinstallation durchsetzen, Codeprüfungen für Bibliotheken von Drittanbietern verlangen und eine strikte Änderungskontrolle für OT-Komponenten anwenden.
Durch die Integration dieser Maßnahmen können Unternehmen ihre Software-Lieferkette stärken und die Gefährdung durch verborgene schädliche Logik reduzieren.
Diese Kampagne zeigt, wie Supply-Chain-Angriffe vertrauenswürdigen Code und Zeitverzögerungen instrumentalisieren können, um zerstörerische Auswirkungen zu erzielen und gleichzeitig einer Entdeckung zu entgehen.

