GitHub und PyPI führen Zeitverzögerungen als Schutz gegen Supply-Chain-Angriffe ein

GitHub und der Python Package Index (PyPI) haben in dieser Woche jeweils zeitbasierte Abwehrmaßnahmen eingeführt, die darauf abzielen, Supply-Chain-Angriffe zu verlangsamen, die die Geschwindigkeit automatisierter Abhängigkeitsaktualisierungen ausnutzen. GitHub's Dependabot verzögert die Übernahme neuer Paketversionen standardmäßig um 72 Stunden, während PyPI damit begonnen hat, das Hochladen neuer Dateien zu Paket-Releases abzulehnen, die älter als 14 Tage sind.
Beide Änderungen zielen auf dieselbe grundlegende Schwachstelle ab: Sicherheitstools können ein bösartiges Paket innerhalb von Minuten nach der Veröffentlichung erkennen, doch die Erkennung allein beseitigt die Bedrohung nicht. Maintainer müssen noch auf die Warnung reagieren, und in der Zwischenzeit kann automatisierte Tooling wie Dependabot das kompromittierte Paket in die Produktion ziehen, bevor es jemand merkt.
Warum jetzt
Diese Schritte folgen auf eine Reihe von aufsehenerregenden Vorfällen in beiden Ökosystemen im vergangenen Jahr, darunter die 'chalk'- und 'debug'-npm-Paketübernahmen – die zusammen Pakete mit insgesamt 2 Milliarden wöchentlichen Downloads betrafen – die KI-gestützte s1ngularity-Malware-Kampagne, die 2.180 GitHub-Konten traf, der Shai-Hulud-Angriff, der signierte bösartige Pakete auslieferte, die als TanStack- und Mistral-Bibliotheken getarnt waren, und die GhostAction-Kampagne, die PyPI zwang, gestohlene Publishing-Token zu widerrufen. GitHub hatte bereits letzten Monat einen umfassenderen Satz von npm-Sicherheitsänderungen angekündigt; die dieswöchige Dependabot-Kühlzeit erweitert diese Härtungsmaßnahmen.
Wie die Abwehrmaßnahmen funktionieren
Dependabots neue 72-stündige Kühlzeit verzögert die Pull Requests, die es für neue Abhängigkeitsversionen öffnet, und gibt der Sicherheits-Community Zeit, schädliche Veröffentlichungen zu erkennen und zu kennzeichnen, bevor die automatisierte Tooling sie übernimmt. GitHub gab an, dass drei Tage als Balance zwischen Sicherheit und Aktualität bei legitimen Updates gewählt wurden, und die Verzögerung ist konfigurierbar – Maintainer können sie verkürzen oder verlängern. GitHub empfahl außerdem, die Kühlzeit mit Lockfiles zur Abhängigkeitssperrung, Publishing-Token mit eingeschränktem Gültigkeitsbereich und der Deaktivierung unnötiger Installationsskripte in CI-Pipelines zu kombinieren, da die Kühlzeit allein nicht vor längerfristigen Account-Kompromittierungen schützt.
PyPIs Änderung zielt auf ein anderes Angriffsmuster ab: Ein Angreifer, der das Publishing-Token oder den CI-Workflow eines Maintainers lange nach der Veröffentlichung einer Paketversion kompromittiert, die das Vertrauen der Entwickler gewonnen hat. Indem PyPI das Hochladen neuer Dateien zu Releases blockiert, die älter als 14 Tage sind, schließt es das Fenster für diese Art von "Release-Vergiftung", bei der eine vertrauenswürdige, bereits übernommene Version im Nachhinein stillschweigend modifiziert wird. PyPI merkte an, dass kein bestätigter vergangener Angriff diese spezifische Technik verwendet habe – die Plattform handelt präventiv, nachdem sie festgestellt hat, dass nur ein kleiner Teil der Projekte legitimerweise Dateien mehr als zwei Wochen nach einem Release hochlädt.
Was das für Entwickler bedeutet
Für die meisten Projekte hat dies praktisch eine kurze Verzögerung, bevor automatisierte Dependency-PRs erscheinen, und keine Möglichkeit, alte Paket-Releases nach zwei Wochen direkt zu patchen. Keine der Änderungen erfordert eine Aktion des Entwicklers, um davon zu profitieren – beide sind standardmäßig auf Plattformebene aktiviert – obwohl Maintainer mit ungewöhnlichen Release-Workflows möglicherweise die Kühlzeit-Einstellung von Dependabot anpassen müssen, falls die 72-Stunden-Voreinstellung mit ihrem Update-Rhythmus kollidiert, wie zuerst von BleepingComputer berichtet.
Originally reported by BleepingComputer. Read the original article for additional details.
View original source