Code-Diebstahl im großen Stil:

Shai-Hulud-Wurm infiziert 19 Python-Pakete

Python

Die Sicherheitsfirma Socket hat eine neue Welle der Shai-Hulud-Malware entdeckt. Betroffen sind 19 populäre Python-Pakete für die Wissenschaft.

Das Anwendungssicherheitsunternehmen Socket hat eine neue Kampagne innerhalb der laufenden Shai-Hulud-Lieferkettenangriffe identifiziert. Bei diesem Vorfall wurden 19 legitime Softwarepakete auf der offiziellen Python-Plattform PyPI kompromittiert, die zusammen bereits mehrere hunderttausend Male heruntergeladen wurden. Die betroffenen Pakete stammen offenbar von einem einzigen Paketverwalter und umfassen 37 bösartige Software-Releases.

Anzeige

Ein Großteil der infizierten Dateien entfällt auf populäre Werkzeuge aus dem Bereich der Bioinformatik, darunter Applikationen wie Dynamo, Spateo, CoolBox, U-FISH und Napari-UFISH. Ziel des Angriffs ist das systematische Entwenden von sensiblen Entwicklerdaten und Zugangsdaten direkt von lokalen Programmierstationen sowie aus automatisierten Build-Systemen.

Ausführung über verzögerte Start-Skripte

Die Architektur der Schadsoftware unterscheidet sich von einfachen Skripten durch einen zweistufigen Ausführungsmechanismus. Die Angreifer betten eine präparierte Setup-Datei mit der Endung pth sowie eine verschleierte JavaScript-Komponente namens index.js in das kompromittierte Installationsarchiv ein. Sobald die Python-Laufzeitumgebung auf einem System gestartet wird, verarbeitet das System die pth-Datei automatisch. Diese lädt im Hintergrund die JavaScript-Laufzeitumgebung Bun von der Plattform GitHub herunter, um die eigentliche Schadroutine auszuführen.

Die Analysten von Socket erklärten zu diesem automatisierten Mechanismus: „Das bedeutet, dass ein kompromittiertes Wheel eine ansonsten passive Abhängigkeitsinstallation in einen verzögerten Ausführungsauslöser verwandeln kann: Der nächste Aufruf von Python, pip, ein Testlauf, ein Notebook-Kernel, ein CI-Job oder ein Paketmanagement-Befehl, der Python startet, verarbeitet möglicherweise die bösartige .pth-Datei,“. Durch diese Methode bleibt die Schadsoftware nach der Installation so lange inaktiv, bis ein regulärer Entwicklungsschritt erfolgt.

Anzeige

Umfang der gestohlenen Python-Entwicklerdaten und Abwehrmechanismen

Eine genaue Untersuchung der JavaScript-Komponente offenbarte eine breite Zielsetzung beim Datendiebstahl. Das Schadprogramm durchsucht die infizierten Systeme gezielt nach einer Vielzahl von sensiblen Geheimnissen. Dazu gehören unter anderem:

  • GitHub-Token und spezifische Geheimnisse aus GitHub Actions
  • Authentifizierungstoken für die Veröffentlichung von Software auf npm, PyPI, RubyGems und JFrog
  • Zugangsdaten für Cloud-Infrastrukturen von AWS, GCP und Azure sowie für Kubernetes und Vault
  • Lokale SSH-Schlüssel und Docker-Konfigurationen
  • Umgebungsvariablen aus lokalen Konfigurationsdateien wie .env, .npmrc und .pypirc
  • Protokolle der Befehlshistorie der System-Shell sowie Konfigurationsdaten für KI-Entwicklungswerkzeuge wie Claude oder das Model Context Protocol (MCP)

Die Übermittlung der gestohlenen Daten an die Angreifer erfolgt über zwei getrennte Wege. Primär legt die Malware automatisch neue Repositories auf GitHub an, um die Daten über automatisierte GitHub Actions zu speichern. Als sekundärer Kommunikationskanal dient eine direkte HTTPS-Verbindung, die als Tarnung an einen ungültigen API-Endpunkt von Anthropic gerichtet ist. Zur Vermeidung einer Entdeckung prüft das Programm vorab, ob eine russische Systemumgebung vorliegt oder Sicherheitswerkzeuge wie StepSecurity Harden-Runner aktiv sind. Die dauerhafte Verankerung im System (Persistenz) erfolgt über systemd-Dienste auf Linux-Systemen sowie über LaunchAgents auf macOS-Geräten. Die Sicherheitsforscher empfehlen betroffenen Organisationen, sämtliche potenziell offengelegten Geheimnisse unverzüglich zu widerrufen und systemspezifische Umgebungen aus sauberen Backups wiederherzustellen.

(red)

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.