GitHub und PyPI führen neue Kontrollen zur Verringerung des Risikos in der Pak供应链 ein

GitHub und der Python Package Index (PyPI) führen Maßnahmen ein, die zwei Risiken in der Software-Lieferkette begrenzen sollen: die schnelle Verbreitung neuer schädlicher Releases und die spätere Ände...

GitHub und der Python Package Index (PyPI) führen Maßnahmen ein, die zwei Risiken in der Software-Lieferkette begrenzen sollen: die schnelle Verbreitung neuer schädlicher Releases und die spätere Änderung von Versionen, die monatelang oder jahrelang stabil geblieben sind.

Die Änderung von GitHub fügt für routinemäßige Abhängigkeitsaktualisierungen eine standardmäßige Verzögerung von drei Tagen für Dependabot-Pull-Requests hinzu. Dependabot wartet mindestens 72 Stunden, nachdem ein neues Release verfügbar geworden ist, bevor das Update vorgeschlagen wird. Dadurch erhalten Maintainer, Sicherheitsforscher und automatisierte Scan-Systeme mehr Zeit, verdächtigen Code zu identifizieren oder die Entfernung eines kompromittierten Pakets zu veranlassen.

Die Abkühlphase gilt für Versionsaktualisierungen, die nicht sicherheitsbezogen sind. Unternehmen können das Verhalten über die Konfigurationsdatei dependabot.yml anpassen, während sicherheitsrelevante Updates nicht derselben standardmäßigen Verzögerung unterliegen. GitHub erklärte, der Zeitraum von drei Tagen solle das Risiko durch neu veröffentlichte schädliche Pakete gegen die Notwendigkeit abwägen, Abhängigkeiten angemessen aktuell zu halten.

PyPI schränkt Änderungen an älteren Releases ein

PyPI verfolgt eine andere Schutzmaßnahme und beschränkt das Hochladen neuer Dateien auf Releases, die mehr als 14 Tage alt sind. Die Richtlinie soll verhindern, dass Angreifer, die die Veröffentlichungszugangsdaten eines Projekts erlangen oder dessen Release-Workflow kompromittieren, einem etablierten Release ein schädliches Wheel oder ein anderes Artefakt hinzufügen.

Die Einschränkung soll in Kraft treten, nachdem die Upload-2.0-API und Mechanismen für eine stufenweise Vorschau durch PEP 694 standardisiert worden sind. PyPI erklärte, die Auswirkungen dürften begrenzt sein, da relativ wenige Projekte weiterhin plattformspezifische Dateien zu älteren Releases hinzufügen. Bei einer Analyse der 15.000 am häufigsten heruntergeladenen Pakete hatten nur 56 mehr als zwei Wochen nach der ursprünglichen Verfügbarkeit des betreffenden Releases ein mit Python 3.14 kompatibles Wheel veröffentlicht.

Neben dem Schutz der Nutzer erklärte PyPI, die Regel solle auch die Reaktion auf Sicherheitsvorfälle vereinfachen. Wenn ein älteres Release keine neuen Dateien mehr erhalten kann, können Ermittler legitime Artefakte leichter von Dateien unterscheiden, die während einer Kompromittierung hinzugefügt wurden.

Zusammen adressieren die Richtlinien unterschiedliche Punkte im Lebenszyklus von Abhängigkeiten: GitHub verlangsamt die erstmalige Übernahme nicht vertrauenswürdiger Releases, während PyPI die Möglichkeit verringert, Releases zu verändern, die Nutzer bereits als zuverlässig betrachten. Keine der beiden Kontrollen beseitigt Angriffe auf die Lieferkette, doch beide schaffen mehr Zeit und Transparenz, um schädliche Änderungen zu erkennen, bevor sie sich weit verbreiten.