Datenschutz & Sicherheit

Script Injection und Datenklau: Python-Datenanalyse-Tool geknackt


Ein Angreifer hat das Python-Tool zur Datenüberwachung, elementary-data, in einer manipulierten Version 0.23.3 auf PyPI hochgeladen. Das gefälschte Release stiehlt Credentials wie SSH-Schlüssel, AWS-Zugangsdaten, API-Tokens und Wallet-Dateien verschiedener Kryptowährungen. Mittlerweile hat der Anbieter Elementary das kompromittierte Paket entfernt, es konnte aber knapp einen halben Tag lang Schaden anrichten.

Weiterlesen nach der Anzeige

Die schädliche Version 0.23.3 von elementary-data hatte der Angreifer, der sich hinter dem wenige Tage alten GitHub-Account realtungtungtungsahur versteckte, am 25. April um 0:20 MESZ auf PyPI hochgeladen, gefolgt von einem kompromittierten Docker-Image, das um 0:24 Uhr seinen Weg in die GitHub Container Registry fand.

Etwas mehr als 11 Stunden später, am 25. April um 11:45 Uhr, entfernte das Elementary-Team die schädlichen Dateien und ersetzte sie durch die bereinigte Version 0.23.4. Die Elementary Cloud, das Elementary dbt-Paket und andere Versionen des CLI-Tools waren laut Team nicht von diesem Vorfall betroffen. Mittlerweile hat der Anbieter auch einen vollständigen Sicherheitsbericht veröffentlicht, der die Timeline, Ursachenanalyse und alle Gegenmaßnahmen enthält.

Allein im letzten Monat verzeichnete elementary-data laut pypistats.org mehr als eine Million Downloads, was das Open-Source-CLI zu einem der am häufigsten genutzten Monitoring- und Diagnose-Tools für dbt-basierte Datenplattformen macht. Im Fall eines erfolgreich durchgeführten Angriffs stehen damit auch die Chancen gut, Zugriff auf entsprechende Secrets zu erhalten.

Der Angreifer nutzt eine Script-Injection-Schwachstelle in einem der GitHub-Actions-Workflows von elementary-data aus, um eigenen Code innerhalb der Pipeline auszuführen. Mit dem automatisch bereitgestellten GITHUB_TOKEN löste er anschließend den Release-Workflow release.yml per workflow_dispatch aus. Er hatte dafür einen Pull Request mit Schadcode eingebracht, musste ihn aber weder mergen noch den Master-Branch direkt verändern.

Der Schadcode steckt in der Datei elementary.pth, die sich im Verzeichnis site-packages des Pakets findet, und hat ein breites Spektrum sensibler Daten im Visier: SSH-Schlüssel, Zugangsdaten für die AWS-Cloud und Secrets für Docker und Kubernetes. Auch Wallet-Dateien von Kryptowährungen wie Bitcoin, Litecoin, Dogecoin und Ethereum gehören zu den Zielobjekten. Die gestohlenen Daten wurden in der Datei trin.tar.gz zusammengefasst und an die Adresse igotnofriendsonlineorirl-imgonnakmslmao.skyhanni.cloud exfiltriert. Der Vorfall ist auch unter MAL-2026-3083 im Open-Source-Schwachstellenregister OSV katalogisiert.

Weiterlesen nach der Anzeige

Anwenderinnen und Anwender, die die betroffene Version 0.23.3 installiert haben, sollten umgehend handeln. Das Elementary-Team empfiehlt, grundsätzlich einen Versions-Check mit

pip show elementary-data | grep Version

durchzuführen. Anschließend gelte es, Version 0.23.3 mit

pip uninstall elementary-data

zu deinstallieren und durch die sichere Version zu ersetzen:

pip install elementary-data==0.23.4

Ferner sollten Nutzerinnen und Nutzer die Version in den requirements-Dateien und Lockfiles auf elementary-data==0.23.4 festlegen sowie im letzten Schritt sämtliche mit elementary-data genutzten Zugangsdaten erneuern.

Darüber hinaus empfiehlt das Team, Cache-Dateien zu löschen und auf allen potenziell betroffenen Systemen nach der Marker-Datei des Schadcodes zu suchen: Unter macOS und Linux liegt sie unter /tmp/.trinny-security-update, unter Windows unter %TEMP%\.trinny-security-update. Ist die Datei vorhanden, war der Schadcode auf dem jeweiligen System aktiv.

Parallel dazu hat das Elementary-Team den PyPI-Publish-Token, den GitHub-Token und die Docker-Registry-Credentials rotiert sowie den anfälligen GitHub-Actions-Workflow entfernt und alle übrigen Workflows geprüft.

Sicherheitsprobleme im Open-Source-Ökosystem und der Lieferkette sind nach wie vor allgegenwärtig. KI-Agenten können dabei helfen, dieses Problem in den Griff zu bekommen.


(mro)



Source link

Beliebt

Die mobile Version verlassen