MalwareCyberkriminalitätSchwachstellen

Populäres Python-Paket elementary-data gehackt: Infostealer stahl Entwicklerdaten

Populäres Python-Paket elementary-data gehackt: Infostealer stahl Entwicklerdaten
Zusammenfassung

Das beliebte Python-Paket elementary-data ist Opfer eines gezielten Supply-Chain-Angriffs geworden, bei dem ein Angreifer eine manipulierte Version in das PyPI-Repository einschleusen konnte. Das Paket wird monatlich über eine Million Mal heruntergeladen und ist ein etabliertes Werkzeug für Datenobservabilität im dbt-Ökosystem, das primär von Daten- und Analytics-Ingenieern genutzt wird. Der Angreifer nutzte geschickt eine GitHub-Actions-Sicherheitslücke aus, indem er einen bösartigen Kommentar in einem Pull Request hinterließ, der zum Ausführen von manipuliertem Code führte. Dadurch gelang es ihm, das GITHUB_TOKEN des Projekts freizulegen und eine gefälschte Version 0.23.3 mit vollständiger Signatur zu erstellen und zu veröffentlichen. Die Malware sammelt gezielt sensible Daten wie Secrets, Kryptowallet-Anmeldedaten und Umgebungsvariablen von betroffenen Entwicklersystemen. Für deutsche Unternehmen und Entwickler, die elementary-data einsetzen, stellt dies ein erhebliches Risiko dar – insbesondere für alle, die die manipulierte Version 0.23.3 heruntergeladen haben oder Docker-Images mit dieser Version nutzen. Sofortige Maßnahmen wie das Rotieren aller Secrets, die Überprüfung von Zugriffsprotokollen und die Wiederherstellung aus bekannten sicheren Zuständen sind dringend erforderlich.

Die Sicherheitsforscher von StepSecurity haben die Attacke analysiert und dabei ein besonders raffiniertes Angriffsverfahren aufgedeckt. Der Angreifer nutzte nicht wie häufig üblich gestohlene Zugangsdaten eines Projektmitarbeiters, sondern exploitierte stattdessen eine GitHub Actions Script-Injection-Schwachstelle. Durch einen manipulierten Kommentar auf einem Pull-Request konnte der Angreifer Shell-Code ausführen lassen und sich damit das GITHUB_TOKEN des Workflows beschaffen — ein kritisches Sicherheitstoken, das es ihm ermöglichte, signierte Commits und Tags zu fälschen.

Mit diesem Token manipulierte der Angreifer die gesamte Release-Pipeline: Die Malware wurde als legitimes Update der Version 0.23.3 sowohl in PyPI als auch ins GitHub Container Registry hochgeladen. Das System war überzeugend genug, dass zahlreiche Systeme das backdoored Paket automatisch herunterladten — insbesondere all jene, die keine festen Versionsnummern (Pinning) in ihren Abhängigkeiten definiert hatten.

Die Malware selbst versteckte sich in der Datei elementary.pth, die beim Start des Pakets automatisch ausgeführt wurde. Sie fungierte als Infostealer und zielte darauf ab, sensible Informationen wie API-Keys, Kryptowallet-Zugangsdate und andere Secrets zu exfiltrieren. Besonders problematisch: Die schadhaften Container-Images verbreiteten die gleiche Payload, da der Release-Workflow nicht nur auf PyPI publiziert, sondern auch Docker-Images build und pusht.

Ein aufmerksamer Community-Mitglied namens crisperik entdeckte die Manipulation am Samstag und öffnete umgehend ein GitHub-Issue — ein Glücksfall, der die Exposition deutlich verkürzte. Das Projektteam reagierte schnell und veröffentlichte die bereinigte Version 0.23.4. Allerdings blieben alle Systeme, die die manipulierte Version 0.23.3 bereits heruntergeladen hatten, kompromittiert.

Für betroffene Organisationen gelten klare Notfallmaßnahmen: Alle Secrets und API-Keys müssen sofort rotiert, Systeme von bekannten sauberen Punkten wiederhergestellt und die Infrastruktur auf Spuren von Kompromittierung untersucht werden. Dieser Vorfall unterstreicht die kritische Bedeutung von Supply-Chain-Security und zeigt, wie wichtig gepinnte Paketversionen, regelmäßige Abhängigkeits-Audits und Workflow-Absicherung in CI/CD-Pipelines sind.