Sicherheit¶
PyPI hostet Stand Juli 2026 über eine dreiviertel Millionen Pakete, und diese Zahl wächst täglich. Ein durchschnittliches Python-Projekt bezieht Dutzende weiterer Abhängigkeiten ein – Pakete, die ihr nie explizit ausgewählt habt, auf die ihr aber dennoch angewiesen seid, weil eure Abhängigkeiten sie benötigen. Wenn ihr pandas in eurer Anwendung installiert, erhaltet ihr mehr als nur pandas. Der vollständige Abhängigkeitsbaum sieht so aus:
$ uv add pandas
$ uv pip tree
myapp v0.1.0
└── pandas v3.0.5
├── numpy v2.5.1
└── python-dateutil v2.9.0.post0
└── six v1.17.0
Obwohl ihr nur ein Paket (pandas) hinzufügen wolltet, habt ihr ungefragt
vier erhalten. Auch wenn eines dieser transitiven Pakete, die ihr nie explizit
installiert habt, eine Sicherheitslücke aufweisen sollte, ist eure gesamte
Anwendung gefährdet. Damit vergrößert sich die Angriffsfläche enorm im Vergleich
zu dem, was ihr selbst in dependencies angegeben habt.
Hier nur einige Angriffe der letzten Zeit auf die Software-Lieferkette:
- LiteLLM/Telnyx
Im März diesen Jahres wurden nach der Offenlegung eines API-Tokens aufgrund einer ausgenutzten trivy-Abhängigkeit Versionen der Pakete litellm und telnyx auf PyPI veröffentlicht, die Malware zum Ausspähen von Anmeldedaten enthielten. Die Malware wurde bei der Installation ausgeführt, sammelte sensible Anmeldedaten und Dateien und leitete diese an eine entfernte API weiter.
- Phishing-Angriff per E-Mail auf PyPI-User
Auch im April 2026 hält die Welle von Phishing-Angriffen, bei denen Domain-Verwechslungen ausgenutzt und seriös wirkende E-Mails versendet werden, weiterhin an. Es handelt sich um denselben Angriff, der bereits im Juni 2025 auftrat und auf viele andere Open-Source-Repositorys abzielt, allerdings mit einem anderen Domainnamen.
Siehe auch
- Shai-Hulud
Im November 2025 entwickelt sich ein Angriff auf das npm-Ökosystem weiter und nutzt kompromittierte Konten aus, um schädliche Pakete zu veröffentlichen. Diese als Shai-Hulud bezeichnete Kampagne hat eine große Anzahl von JavaScript-Paketen ins Visier genommen und Zugangsdaten abgezogen, um sich weiter zu verbreiten. PyPI selbst wurde zwar nicht ausgenutzt, jedoch wurden einige PyPI-Anmeldedaten in kompromittierten Repositories offengelegt.
- Token Exfiltration
Im September 2025 wurde Code in GitHub-Actions-Workflows in über 570 Repositories eingeschleust und dabei mehr als 3.300 Secrets, darunter PyPI- npm-Token sowie AWS-Zugriffsschlüssel gestohlen. PyPI sperrte alle gestohlenen Token aus und forderte alle User auf, zu Trusted Publishers zu wechseln.
- ZIP-Parser-Verwirrungsangriffe
Im August 2025 führte PyPI Restriktionen ein, die verhindern sollen, dass es bei Installations- und Prüfprogramme für Python-Pakete durch unterschiedliche Implementierungen des ZIP-Parsers zu Verwechslungen kommen kann. uv zeigte ein anderes Entpackungsverhalten als viele Python-basierte Installationsprogramme, die
zipfileverwenden.
- Ultralytics
Im Dezember 2024 wurde ultralytics Opfer eines Supply-Chain-Angriffs, bei dem zunächst die GitHub-Actions-Workflows des Projekts und anschließend dessen PyPI-API-Token kompromittiert wurden. Zur Durchführung dieses Angriffs wurde keine Sicherheitslücke in PyPI ausgenutzt.
Siehe auch
Das sind keine theoretischen Angriffe. Sie haben sich bei echten Projekten mit Millionen von Nutzer*innen ereignet. Wenn ihr ein bösartiges Paket auf PyPI entdeckt, könnt ihr es über das Sicherheitsmeldesystem von PyPI melden.
Im Juni 2026 veröffentlichte Seth Larson, Mitglied des Python Security Response Team, eine Grafik zur jährlichen Entwicklung der von Python veröffentlichten Sicherheitslücken, aus der eine Verdreifachung im Jahr 2026 erwartet wird:
Quelle: https://mastodon.social/@sethmlarson/116680832573268456¶
Dies spiegelt jedoch lediglich die Ergebnisse wider und gibt keinen Überblick über die eingehenden Meldungen. Viele davon werden geschlossen und stattdessen als nicht sicherheitsrelevante Fehlermeldungen behandelt; andere werden weder als Sicherheits- noch als Fehlermeldungen geschlossen. Hier ist die Anzahl der seit Juli 2024 erstellten Berichte zu GitHub-Sicherheitshinweisen:
Quelle: Hugo van Kemenade: Security: line goes up¶