GitHub und PyPI führen Zeitverzögerungen ein, um Risiken in der Softwarelieferkette zu verringern

GitHub und der Python Package Index (PyPI) führen zeitbasierte Schutzmaßnahmen ein, um den Schaden durch neu veröffentlichte oder veränderte schädliche Pakete zu begrenzen. Die Änderungen folgen auf e...

GitHub und der Python Package Index (PyPI) führen zeitbasierte Schutzmaßnahmen ein, um den Schaden durch neu veröffentlichte oder veränderte schädliche Pakete zu begrenzen. Die Änderungen folgen auf eine Reihe von Vorfällen in der Softwarelieferkette, die beliebte Open-Source-Ökosysteme betrafen, darunter Angriffe auf npm- und PyPI-Projekte.

Dependabot führt eine dreitägige Wartefrist ein

Der Dependency-Management-Dienst Dependabot von GitHub verwendet nun standardmäßig eine 72-stündige Abkühlphase, bevor er Updates für neu veröffentlichte Pakete vorschlägt. Die Verzögerung gibt Sicherheitsforschern, automatisierten Scan-Systemen und Maintainerinnen und Maintainer mehr Zeit, verdächtige Releases zu erkennen, bevor diese über automatisierte Update-Workflows in Projekte übernommen werden.

Jüngste Angriffe haben gezeigt, dass schädliche Pakete schnell veröffentlicht und heruntergeladen werden können, während Erkennung und Entfernung häufig länger dauern. GitHub bezeichnete den Zeitraum von drei Tagen als Kompromiss zwischen der Verringerung der Gefährdung durch unsichere Releases und der Möglichkeit für Entwickler, wichtige Updates ohne übermäßige Verzögerung zu erhalten. Organisationen können die Einstellung anpassen und je nach Risikobereitschaft und Entwicklungsprozessen eine kürzere oder längere Wartefrist festlegen.

GitHub wies außerdem darauf hin, dass die Funktion nicht jede Form der Kompromittierung von Abhängigkeiten verhindern soll. Das Unternehmen empfiehlt, die Verzögerung mit Lockfiles, Zugriffstokens mit eng begrenzten Berechtigungen und der Deaktivierung nicht benötigter Skripte zur Paketinstallation in Continuous-Integration-Umgebungen zu kombinieren.

PyPI schränkt Änderungen an älteren Releases ein

PyPI hat eine separate Kontrolle eingeführt, die Angreifer daran hindern soll, etablierte Paketversionen zu manipulieren. Maintainer können keine neuen Dateien mehr zu einem Release hochladen, sobald seit dessen Veröffentlichung 14 Tage vergangen sind.

Die Richtlinie soll das Risiko einer „Release-Vergiftung“ verringern. Dabei fügt ein Angreifer, der Zugriff auf die Veröffentlichungsschlüssel oder den Veröffentlichungs-Workflow eines Maintainers erlangt, einer älteren Version, der Nutzer bereits vertrauen, eine schädliche Datei hinzu. PyPI erklärte, dass legitime Uploads mehr als zwei Wochen nach der Veröffentlichung selten seien. Dadurch könne die Einschränkung einen potenziellen Angriffsweg mit begrenzten Beeinträchtigungen schließen.

PyPI erklärte, es habe nicht bestätigt, dass bei einem früheren Angriff genau diese Technik eingesetzt wurde, und bezeichnete die Änderung als vorbeugende Maßnahme. Zusammengenommen schaffen die Kontrollen von GitHub und PyPI mehr Zeit für Überprüfung und Erkennung. Entwickler benötigen jedoch weiterhin mehrschichtige Schutzmaßnahmen wie festgelegte Abhängigkeiten, geschützte Veröffentlichungsschlüssel und kontinuierliche Überwachung.