Share
Beitragsbild zu Gefährliches Python-Paket tarnt sich als Passwort-Bibliothek und zwingt Windows in den Neustart

Gefährliches Python-Paket tarnt sich als Passwort-Bibliothek und zwingt Windows in den Neustart

Ein gefälschtes Python-Paket mit dem Namen psslib sorgt aktuell für Aufsehen in der Entwickler-Community. Sicherheitsforscher des Threat Research Teams von Socket haben entdeckt, dass das Paket gezielt Typosquatting einsetzt, um sich als die weit verbreitete Passwortbibliothek passlib auszugeben.

Das von einem Nutzer mit dem Pseudonym umaraq veröffentlichte Paket täuscht vor, eine sichere Passwortlösung zu sein. In Wirklichkeit enthält es jedoch bösartigen Code, der unter bestimmten Bedingungen – etwa bei der Eingabe eines falschen Passworts – einen sofortigen Neustart von Windows-Systemen auslöst.

Die perfide Masche richtet sich vor allem an Entwickler, die unbeabsichtigt den falschen Paketnamen eingeben. psslib ist nach wie vor in der offiziellen Python-Paketverwaltung verfügbar. Socket hat inzwischen die Entfernung des schadhaften Pakets beantragt.

Der KI-Scanner von Socket markiert psslib aufgrund seines destruktiven Verhaltens beim Herunterfahren des Systems als schädlich.

Typosquatting-Tools für die Passwortsicherheit

Python-Entwickler verlassen sich häufig auf Authentifizierungsbibliotheken, um ihre Anwendungen zu sichern. Die legitime Bibliothek „passlib“ ist ein weit verbreitetes Toolkit für Passwort-Hashing, das eine sichere Passwortspeicherung und -überprüfung über mehrere Hash-Algorithmen hinweg bietet und monatlich über 8,9 Millionen Mal heruntergeladen wird

Typosquatting-Angriffe auf Sicherheitsbibliotheken sind besonders gefährlich, da Entwickler, die diese Pakete installieren, häufig über erweiterte Systemrechte verfügen und sie in kritische Authentifizierungsabläufe integrieren können. Wenn Entwickler mit Administrator- oder Root-Rechten arbeiten, kann bösartiger Code sofort Auswirkungen auf Vorgänge auf Systemebene haben, Sicherheitskontrollen umgehen und möglicherweise ganze Entwicklungsumgebungen oder Produktionssysteme kompromittieren. Darüber hinaus sind Sicherheitsbibliotheken häufig in benutzerorientierte Anwendungen, CI/CD-Pipelines und Authentifizierungssysteme integriert, sodass ein einziges bösartiges Paket nicht nur die Workstation des Entwicklers beeinträchtigen kann, sondern auch Endbenutzer, automatisierte Bereitstellungen und kritische Geschäftsprozesse, die auf diesen Authentifizierungsmechanismen basieren.

Entwickler vertrauen grundsätzlich darauf, dass Pakete, die Sicherheitsfunktionen versprechen, ihre Anwendungen tatsächlich schützen und nicht schädigen. Das bösartige psslib-Paket nutzt dieses Vertrauen aus, indem es sich als Sicherheitsdienstprogramm ausgibt, aber Code enthält, der sofortigen Datenverlust und Systemstörungen verursachen kann. In der README-Datei und der Dokumentation des Pakets wird es fälschlicherweise als Sicherheitslösung angepriesen, die „Ihr Python-Programm schützt“.

Die falschen Sicherheitsangaben in der README-Datei von psslib und ein durch Typosquatting erlangter Paketname.

Herunterfahren auf Abruf

Das psslib-Paket implementiert ein Passwort-Überprüfungssystem, das easygui.enterbox() verwendet, um Benutzer zur Eingabe ihrer Anmeldedaten aufzufordern. Wenn das eingegebene Passwort jedoch nicht mit dem vom Entwickler festgelegten Wert übereinstimmt, führt das Paket sofort einen Windows-Befehl zum Herunterfahren des Computers aus:

Zusätzlich zur Passwortüberprüfung bietet das Paket mehrere weitere Funktionen, die ausdrücklich dazu dienen, das System ohne Authentifizierung sofort herunterzufahren oder neu zu starten:

Diese zusätzlichen Funktionen erweitern die Angriffsvektoren, indem sie den direkten Aufruf von Systemabschalt- oder Neustartvorgängen ohne Warnung oder Zustimmung ermöglichen.

  • Passwortüberprüfungsfunktion spc, die bei falscher Passworteingabe das System herunterfährt
  • Direkte Abschaltfunktion src, die keine Authentifizierung erfordert
  • Fehlerbehandlungsfunktion error, die eine Fehlermeldung schreibt und ein Herunterfahren erzwingt
Plattformspezifische Zerstörung

Die schädliche Nutzlast zeigt plattformspezifisches Verhalten:
Windows-Systeme: Der Angriff ist vollständig wirksam. Der Befehl „shutdown /s /t 1“ wird wie vorgesehen ausgeführt und erzwingt einen sofortigen Systemstillstand, der folgende Folgen haben kann:

  • Verlust nicht gespeicherter Arbeiten und Daten
  • Beschädigung geöffneter Dateien und Datenbanken
  • Unterbrechung laufender Dienste und Anwendungen
  • Mögliche Inkonsistenzen im Dateisystem durch den erzwungenen Systemstillstand

Linux-/macOS-Systeme: Die Windows-spezifische Syntax zum Herunterfahren schlägt auf Unix-basierten Systemen harmlos fehl, da das Befehlsformat mit den Herunterfahren-Dienstprogrammen dieser Plattformen nicht kompatibel ist.

Diese Plattformausrichtung lässt darauf schließen, dass der Angreifer den Angriff speziell für Windows-Entwicklungsumgebungen entwickelt hat, in denen Entwickler häufig Python für Automatisierung, Skripterstellung und Anwendungsentwicklung verwenden.

Ausblick und Empfehlungen

Das psslib-Paket zeigt, wie zerstörerische Malware sich hinter legitimen Sicherheitsversprechen verstecken und das Vertrauen der Entwickler ausnutzen kann, um sofortige Systemschäden zu verursachen. Im Gegensatz zu heimlichem Datendiebstahl zerstört dieses Paket die Benutzererfahrung in dem Moment, in dem jemand ein falsches Passwort eingibt – wobei Störung Vorrang vor Heimlichkeit hat.

Dieser Angriff offenbart besorgniserregende Merkmale moderner Bedrohungen in der Lieferkette:

  • Sofortige Zerstörung: Sofortiges Herunterfahren des Systems ohne Warnung oder Wiederherstellungsoptionen
  • Missbrauch von Vertrauen: Nutzt das Vertrauen der Entwickler in sicherheitsorientierte Pakete aus
  • Plattformspezifisch: Speziell für Windows-Entwicklungsumgebungen entwickelt
  • Mehrere Angriffsvektoren: Mehrere Funktionen stellen sicher, dass die schädliche Nutzlast ausgeführt wird

Zukünftige zerstörerische Angriffe werden sich wahrscheinlich in mehrere Richtungen entwickeln. Über Sicherheitsbibliotheken hinaus ist mit Angriffen auf Entwicklertools, Testframeworks und CI/CD-Utilities zu rechnen, bei denen erhöhte Berechtigungen und eine tiefe Integration üblich sind. Angreifer werden über einfache Passwort-Fehler hinausgehen und komplexere Auslöser wie systemspezifische Konfigurationen, zeitbasierte Aktivierung oder die Integration in gängige Entwicklungsworkflows nutzen.

Anstelle einer sofortigen Abschaltung könnten fortgeschrittene Varianten eine schrittweise Verschlechterung durch subtile Dateibeschädigungen oder Störungen der Entwicklungsprozesse bewirken, die sich nur schwer einem bestimmten Paket zuordnen lassen.

Der Fokus auf Windows lässt vermuten, dass zukünftige Varianten mit plattformspezifischen Payloads auf macOS, Linux oder containerisierte Entwicklungsumgebungen abzielen könnten. Am besorgniserregendsten ist, dass Angreifer möglicherweise damit beginnen, zerstörerische Funktionen mit legitimen Sicherheitsfunktionen zu kombinieren und Pakete zu erstellen, die einen tatsächlichen Nutzen bieten, aber heimlich zerstörerische Funktionen enthalten.

Die Sicherheitstools von Socket können zum Schutz vor diesen Bedrohungen beitragen, indem sie das Verhalten von Paketen in Echtzeit analysieren und gefährliche Muster erkennen. Unsere kostenlose GitHub-App markiert Risiken direkt in Pull-Anfragen, die CLI gibt während der Paketinstallation Warnmeldungen aus und unsere Browser-Erweiterung liefert Sicherheitsinformationen auf Paketseiten, sodass Entwickler potenzielle Bedrohungen für die Lieferkette erkennen können, bevor diese in Ihren Code gelangen.


Teile diesen Beitrag: