Schon wieder zu viel Schadcode: Keine neuen Projekte für Python-Registry PyPI

Ein Ansturm von Paketen mit Schadcode hat die Betreiber des Python Package Index dazu veranlasst, die Aufnahme neuer Projekte und User zu stoppen.

In Pocket speichern vorlesen Druckansicht 38 Kommentare lesen

(Bild: Ulf Wittrock/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Am Vormittag des heutigen 28. März haben die Betreiber des Python Package Index (PyPI) die Aufnahme neuer User und Projekte gestoppt. Offenbar handelte es sich dabei um eine Notfallmaßnahme wegen einer Flut von Schadcode-Uploads in die offizielle Paket-Registry von Python.

Der Vorfall erinnert an den Mai 2023, als die Registry aus demselben Grund nahezu ein ganzes Wochenende keine neuen Projekte oder User mehr aufgenommen hatte.

Inzwischen ist die Registry wieder voll funktionsfähig, aber in der Historie der offiziellen Statusseite findet sich der Vorfall, den das Team diesmal bereits nach zehn Stunden klären konnte.

Paket-Registries wie PyPI für Python, npm für JavaScript, Packagist für PHP oder RubyGems.org für Ruby sind immer wieder Ziel von Angriffen. Diese zielen zum Teil direkt auf die Developer, zum anderen versuchen die Angreifer, Schadcode über legitime Anwendungen zu verteilen, indem sie Open-Source-Pakete veröffentlichen, die in anderen Projekten zum Einsatz kommen und so bei Endusern landen.

Für die Verteilung setzen viele Angriffe auf das Brandjacking, also Pakete, die Namen bekannter Firmen oder Unternehmen in der Bezeichnung haben, und das Typosquatting. Dabei heißen die mit Schadcode versehenen Pakete ähnlich wie beliebte Packages auf dem jeweiligen Paketmanager. Aus my-packet wird my-paket, mypacket oder my_packet.

Angriffe über Dependency Confusion setzen darauf, intern gehostete Dependencies durch gleichnamige externe Pakete mit Schadcode zu ersetzen. Dafür bekommen die verseuchten Pakete eine hohe Versionierung. Paketinstallationswerkzeuge wie pip verwenden je nach Einstellung das Paket mit der höchsten Versionsnummer, da es vermeintlich das aktuelle ist. Schließlich gibt es auch zunächst harmlose und nützliche Pakete, die Angreifer erst dann mit Schadcode versehen, wenn sie eine ausreichende Verbreitung haben.

Die Betreiber der Paketmanager versuchen seit Jahren effiziente Maßnahmen gegen Angriffe zu finden. Auf PyPI herrscht bereits seit Juli 2022 die 2FA-Pflicht für kritische Projekte: Die Betreiber der Projekte, die das obere Prozent der Downloads ausmachen, müssen sich mit Zwei-Faktor-Authentifizierung anmelden.

Im Juni 2022 erhielt die Python Software Foundation, die sowohl für die Weiterentwicklung der Programmiersprache Python verantwortlich ist, als auch die Paket-Registry PyPI betreibt, 400.000 US-Dollar Fördergelder von der Open Source Security Foundation (OpenSSF), um die Sicherheit von Python und der zugehörigen Infrastruktur zu stärken.

(rme)