GitHub und PyPI haben neue zeitbasierte Sicherheitsmaßnahmen eingeführt, um die Auswirkungen bösartiger Paketveröffentlichungen zu begrenzen.

GitHubs Dependabot verwendet nun standardmäßig eine Wartezeit von drei Tagen, bevor Abhängigkeiten aktualisiert werden. Gleichzeitig verhindert PyPI, dass neuen Releases, die älter als 14 Tage sind, weitere Dateien hinzugefügt werden.

Beide Maßnahmen sollen das Risiko von Angriffen auf die Software-Lieferkette verringern.

Dependabot führt eine dreitägige Wartezeit ein

Dependabot ist GitHubs Dienst für automatische Abhängigkeitsaktualisierungen. Er analysiert Projektdateien und erstellt Pull Requests, sobald neue Paketversionen verfügbar sind.

Künftig wartet der Dienst standardmäßig 72 Stunden, bevor Updates vorgeschlagen werden. Dadurch erhalten Sicherheitslösungen und Paketbetreuer mehr Zeit, schädliche Veröffentlichungen zu erkennen.

Mehrere Angriffe der vergangenen Zeit haben gezeigt, wie schnell sich bösartige Pakete verbreiten können. Sicherheitsforscher entdecken solche Pakete oft innerhalb weniger Minuten, Entwickler benötigen jedoch zusätzliche Zeit, um sie zu entfernen.

GitHub erklärt, dass der Zeitraum von drei Tagen einen ausgewogenen Kompromiss zwischen Sicherheit und zeitnahen Aktualisierungen darstellt. Nutzer können die Wartezeit in den Dependabot-Einstellungen verkürzen oder verlängern.

Die Wartezeit verhindert nicht jeden Paketangriff

Die Verzögerung kann das Risiko verringern, dass Projekte automatisch auf neu veröffentlichte schädliche Pakete aktualisiert werden. Weniger wirksam ist sie jedoch gegen Bedrohungen, die über einen längeren Zeitraum unentdeckt bleiben.

GitHub empfiehlt deshalb zusätzliche Schutzmaßnahmen. Dazu gehören Lockfiles, Zugriffstoken mit eingeschränkten Berechtigungen sowie eine geringere Anzahl von Installationsskripten in CI-Umgebungen.

Lockfiles können Projekte auf bekannte Paketversionen festlegen. Eingeschränkt berechtigte Token können zudem den Schaden begrenzen, falls ein Entwicklungsworkflow kompromittiert wird.

PyPI blockiert Änderungen an älteren Releases

PyPI hat eine eigene zeitbasierte Schutzmaßnahme für Python-Pakete eingeführt.

Paketbetreuer können neuen Releases nach Ablauf von 14 Tagen keine weiteren Dateien mehr hinzufügen. Damit soll verhindert werden, dass Angreifer ältere und bereits vertrauenswürdige Versionen nachträglich manipulieren.

Andernfalls könnten Angreifer einen Veröffentlichungstoken oder einen automatisierten Veröffentlichungsprozess kompromittieren und anschließend eine schädliche Datei zu einer bestehenden Paketversion hinzufügen.

PyPI erklärt, dass nur wenige Projekte mehr als zwei Wochen nach einer Veröffentlichung zusätzliche Dateien hochladen. Die Plattform rechnet daher nur mit geringen Auswirkungen auf legitime Paketbetreuer.

Neue Regeln folgen auf mehrere bedeutende Angriffe

Die Änderungen folgen auf mehrere aufsehenerregende Angriffe auf Entwickler-Ökosysteme.

Zu den jüngsten Vorfällen gehören die Angriffe chalk und debug, die s1ngularity-Operation, die Shai-Hulud-Kampagne sowie GhostAction.

PyPI betont, dass bislang kein bestätigter Angriff die nachträgliche Manipulation älterer Releases genutzt hat. Dennoch wurde die 14-Tage-Grenze vorsorglich eingeführt.

Zusammen zeigen die neuen Maßnahmen, dass zeitbasierte Kontrollen zunehmend zu einer wichtigen Sicherheitsebene in der Software-Lieferkette werden.


0 Kommentare zu „GitHub und PyPI führen zeitbasierte Schutzmaßnahmen gegen Angriffe auf die Software-Lieferkette ein“