GitHub setzt bei Dependabot künftig auf eine standardmäßige Abkühlphase. Das Werkzeug wartet nun mindestens drei Tage nach der Veröffentlichung eines Releases, bevor es einen Pull Request für eine Versionsanhebung erstellt. Nach Angaben von GitHub soll diese Verzögerung verhindern, dass schädlicher Code unmittelbar über frisch veröffentlichte Pakete in abhängige Projekte gelangt.
GitHub begründet den Schritt damit, dass einige Tage Wartezeit Maintainern, Sicherheitsforschern und automatisierten Scannern Zeit geben, eine bösartige Version zu entdecken und zurückzuziehen, bevor sie überhaupt in Pull Requests auftaucht. Die Plattform erklärt außerdem, dass die Standardeinstellung von drei Tagen zwei Ziele ausbalancieren solle: Sie verschiebe die Übernahme neuer Versionen über das Zeitfenster hinaus, in dem die meisten dieser Angriffe stattfänden, ohne Abhängigkeiten länger als nötig aufzuhalten.
Die neue Verzögerung gilt laut GitHub nur für Versionsanhebungen, die keine Sicherheitsupdates betreffen. Wer das Verhalten anpassen will, kann dies über die Konfigurationsoption in der Datei dependabot.yml tun.
PyPI geht einen anderen Angriffsweg an. Die Paketplattform blockiert künftig das Hochladen neuer Dateien zu Releases, die älter als 14 Tage sind. Damit soll verhindert werden, dass alte und lange stabile Veröffentlichungen nachträglich vergiftet werden, falls Publishing-Token oder Workflows von PyPI-Projekten kompromittiert werden.
PyPI erklärt, die Einschränkung sei eingeführt worden, um genau dieses Szenario zu verhindern. Nach Kenntnis der Plattform sei diese Möglichkeit bislang noch nicht missbraucht worden. Es gebe jedoch keinen technischen Grund dafür, außer dass Angreifer womöglich nicht gewusst hätten, dass dies überhaupt möglich ist.
Durchgesetzt werden soll die Regelung erst, wenn die „Upload 2.0 API“ und „Staged Previews“ durch PEP 694 standardisiert worden sind. Betroffen sein soll laut PyPI nur ein kleiner Teil der Projekte, die überhaupt noch neue Dateien zu älteren Releases veröffentlichen.
Zur Untermauerung verweist PyPI auf eigene Tests. Demnach hätten nur 56 der 15.000 populärsten Pakete ein mit 3.14 kompatibles Wheel mehr als 14 Tage nach Verfügbarkeit eines Releases veröffentlicht. Nach Einschätzung der Plattform schützt die Änderung nicht nur Nutzer, sondern reduziert im Fall eines Angriffs auch den Bereinigungsaufwand, weil sich kompromittierte und nicht kompromittierte Releases leichter voneinander unterscheiden ließen.
