Dev News Daily ENDE

Lockfiles für GitHub Actions und SBOM-Inventar bei AWS decken beide Enden der Lieferkette ab

Zwei Veröffentlichungen der letzten zehn Tage greifen die Software-Lieferkette von entgegengesetzten Enden an. Am 28. Oktober machte GitHub Lockfiles für Workflow-Abhängigkeiten in GitHub Actions allgemein verfügbar; am 6. November ergänzte AWS Security Hub um ein organisationsweites SBOM-Inventar. Neu ist keine der Ideen, aber beide kommen jetzt als Plattformstandard statt als Werkzeug, das sich ein Team selbst zusammenbauen muss.

Die Funktion von GitHub betrifft, was ein Build ausführt. Ein Workflow kann lesbare Tag- und Branch-Verweise behalten und trotzdem die exakten Commits ausführen, die in .github/workflows/actions.lock stehen, erzeugt von der Erweiterung gh actions-lock und inklusive transitiver Abhängigkeiten. Dependabot erneuert den Eintrag im selben Pull Request, wenn es eine Action aktualisiert, Admins können Lockfiles per Richtlinie vorschreiben, und eine Prüfung stellt fest, ob ein Lockfile veraltet ist. GitHub benennt die Grenze selbst: Lockfiles schützen vor unerwarteten Änderungen an Abhängigkeiten, entscheiden aber nicht, ob eine Abhängigkeit sicher ist.

Die Funktion von AWS betrifft, was danach läuft. Security Hub baut das Inventar aus den SBOMs, die Amazon Inspector bereits für EC2-Instanzen, ECR-Images und Lambda-Funktionen erzeugt, listet jedes Paket mit Version und Zahl der betroffenen Ressourcen und stellt das Ergebnis ohne Aufpreis über die API bereit, wo Inspector aktiv ist.

Zusammen decken sie die zwei Fragen ab, die eine Incident-Reaktion zuerst stellt: Hat sich etwas an dem geändert, womit wir bauen, und wo läuft das betroffene Paket gerade. Ein verschobener Tag in einer populären Action betrifft die erste, eine neu bekannte Lücke in einer Bibliothek die zweite.

Lockfiles für GitHub Actions und SBOM-Inventar bei AWS decken beide Enden der Lieferkette ab
Lockfiles für GitHub Actions und SBOM-Inventar bei AWS decken beide Enden der Lieferkette ab — Dev News Daily

Was das bedeutet

Fixieren und Inventarisieren scheitern auf verschiedene Weise. Ein Lockfile friert ein, was beim Erzeugen da war, auch eine schlechte Version; ein Inventar sieht nur Ressourcen, die der Scanner erfasst. Beides lohnt sich, und keines ersetzt die Prüfung einer Abhängigkeit, bevor man ihr vertraut.