Malware-resistente Python ohne das Rätselraten
Wir lieben Python. Es ist aus gutem Grund eine der beliebtesten Programmiersprachen der Welt: lesbar, flexibel, leistungsstark und wird von einer der lebendigsten Open-Source-Communities unterstützt. PyPI ist ein Triumph der öffentlichen Infrastruktur – Hosting von über einer halben Million Paketen – ein unglaublicher Beweis dafür, wie Open Source skalieren und Innovationen ermöglichen kann.
Aber mit dieser Skala kommt Komplexität. Und Komplexität ist heute ein Sicherheitsproblem.
Open Source kann sicher sein. Aber die Standardeinstellung "Vertraue einfach dem, was auf PyPI ist" reicht nicht mehr aus - vor allem, wenn Angreifer wissen, dass jedes Build-System, jedes Notebook und jede CI-Pipeline nur eine Pip-Installation von einem schlechten Tag entfernt ist.
Angreifer haben es bemerkt. Sie brauchen keine 0-Tage, wenn es nur darum geht, die Anmeldeinformationen eines Betreuers zu kompromittieren oder ein Paket hochzuladen, das gerade nah genug an etwas Beliebtes herankommt.
Aus diesem Grund haben wir Chainguard-Bibliotheken für Python entwickelt: um die Art und Weise zu ändern, wie Menschen Open-Source-Pakete erstellen, verteilen und konsumieren — beginnend mit Python.
Open Source ist nicht unsicher, aber die Standardeinstellungen sind
hier die aktuelle Realität: Das Verpackungssystem von Python wurde nicht für moderne Bedrohungen der Lieferkette entwickelt. Das ist kein Schlag für PyPI oder seine Betreuer - sie haben unglaubliche Arbeit geleistet, um die Infrastruktur zu skalieren und Missbrauch zu bekämpfen -, aber das Bedrohungsmodell hat sich geändert.
Aber wir glauben auch, dass die Standardeinstellung "was auch immer auf PyPI ist" nicht mehr gut genug ist, besonders wenn Pipelines automatisch Code einziehen, transitive Abhängigkeiten 12 Schichten tief gehen und eine einzige kompromittierte Version Tausende von Systemen infizieren kann, bevor sie bemerkt wird.
Das ist nicht theoretisch. Nach unseren Untersuchungen hätte der Wiederaufbau von Paketen aus der Quelle und die Überprüfung der Herkunft 98 % der bekannten schädlichen Pakete daran gehindert, jemals in der Produktion verwendet zu werden.
Also machten wir uns daran, das Modell umzudrehen. Anstatt "zu erkennen und zu reagieren", stellen wir sicher, dass bösartige Pakete es überhaupt nicht schaffen.
Sicherung jeder Phase der Lieferkette
So funktioniert es:
Wir bauen beliebte Python-Pakete aus ihren vorgelagerten Repos um. Wir stellen sicher, dass jedes Paket über einen Quellcode verfügt, den Sie lesen und prüfen können.
Wir tun dies in einer SLSA Level 2 gehärteten Bauumgebung mit vollständiger Isolierung und Reproduzierbarkeit.
Wir fügen jedem von uns veröffentlichten Paket eine signierte SBOM bei, damit Sie genau wissen, was sich darin befindet und woher es stammt.
Wir sperren jede Phase des Build- und Distributionszyklus: Beschaffung, Zusammenstellung, Signierung, Verpackung und Veröffentlichung.
Wenn wir kein Tag oder Commit finden können, das einem Release in der Upstream-Version eines Pakets entspricht, erstellen wir es nicht. So einfach ist das.
Wenn Vertrauen zusammenbricht: Lehren aus num2words
Möglicherweise haben Sie den jüngsten Kompromiss des num2words-Pakets gesehen. Es ist ein bekanntes Dienstprogramm, das Zahlen in Wörter umwandelt (denken Sie 42 → "zweiundvierzig"). Anfang dieses Monats erhielt ein böswilliger Akteur Zugriff auf das PyPI-Konto des Betreuers und veröffentlichte eine Backdoor-Version, die Anmeldeinformationen aus CI-Umgebungen exfiltrierte. StepSecurity hat hier die vollständige Aufschlüsselung.
Nun, hier ist der Schlüsselteil: Diese bösartige Version hat es nie in Chainguard-Bibliotheken geschafft. Wir haben versucht, ein Tag oder einen Commit im Repository des Upstream-Projekts zu finden. Es gab jedoch kein solches Tag und daher haben wir diese Version nicht veröffentlicht. So einfach ist das.
Kein Alarm. Kein Patch-Verschlüsseln.
Wenn Sie Chainguard-Bibliotheken für Python verwenden, sind Ihre Builds sauber. Ihr Risiko, minimiert. Und es gibt kein Aufwachen mit einer weiteren Lieferkettenwarnung.
Nicht nur standardmäßig sicher - wurde entwickelt, um verifizierbar zu sein
Mit Chainguard Libraries für Python erhalten Sie nicht nur sicherere Bibliotheken. Sie erhalten:
✅ Pakete, die aus der Quelle neu zusammengestellt wurden
✅ Nachweisbare Provenienz
✅ SLSA-konforme Builds
✅ Unterzeichnete SBOMs
Und vor allem: Malware-resistente Pakete, denen Sie tatsächlich vertrauen können.
Dies ist kein Wrapper. Dies ist ein grundlegendes Umdenken darüber, wie Python-Bibliotheken aufgebaut und bereitgestellt werden — basierend auf Open-Source-Prinzipien, aber mit gehärteten Bereitstellungsmechanismen.
Wir haben bewiesen, dass dies in Java in großem Maßstab funktioniert. Jetzt machen wir es in Python — und weitere Ökosysteme werden folgen. Und mit Chainguard Libraries erhalten Sie ein System, das funktioniert, weil es langweilig ist — vorhersehbare Builds, überprüfbare Provenienz und nichts, wonach Sie nicht gefragt haben.
Du schreibst Python. Wir stellen sicher, dass es sicher läuft. Kontaktieren Sie uns noch heute, um mehr zu erfahren.
Share this article
Related articles
- product
Everything we announced at Chainguard Assemble 2026
Patrick Donahue, SVP, Product
- product
Meet the Guardener: The intelligent migration expert for everyone
Sam Katzen, Director, Product Marketing, and Tony Camp, Staff Product Marketing Manager
- product
Introducing Chainguard Catalog Starter: Your choice of five free trusted container images from the best catalog
Ed Sawma, VP, Product Marketing, Anushka Iyer, Product Marketing Manager, and Tony Camp, Staff Product Manager
- product
Introducing Chainguard Agent Skills: Because your AI agent shouldn't trust strangers
Sam Katzen, Director, Product Marketing, and Reid Tatoris, VP, Product Management
- product
Introducing Chainguard Actions: CI/CD workflows you can trust
Ross Gordon, Staff Product Marketing Manager, and Reid Tatoris, VP, Product Management
- product
Introducing Chainguard Repository: A unified experience for secure-by-default open source artifacts
Ross Gordon, Staff Product Marketing Manager, and Angela Zhang, Senior Product Manager