Software Supply Chain: GitHub führt Funktion zum Erstellen von SBOMs ein

Eine neue Funktion zum Exportieren der Software Bill of Materials erstellt eine Liste der Dependencies von Repositories im SPDX-Format.

In Pocket speichern vorlesen Druckansicht
Missing Link, Kette

(Bild: Shutterstock)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Die Betreiber der Versionsverwaltungsplattform GitHub haben eine neue Funktion eingeführt, mit der Projektverantwortliche eine Software Bill of Materials (SBOM) für ihr Repository erstellen können.

Im Bereich Insights | Dependency graph findet sich dafür neuerdings der Button Export SBOM. Der Dependency Graph bietet unter dem Tab Dependencies einen Blick auf die Pakete und weitere Elemente, die das Projekt nutzt. Daneben stellt er unter Dependents Repositories und Pakete dar, die von dem Projekt abhängig sind.

SBOMs listen die Zutaten eines Softwareprojekts möglichst vollständig auf. Dazu gehören neben dem direkten Sourcecode interne und externe Dependencies, beispielsweise zu Open-Source-Paketen auf npm oder PyPI. Da die Packages ihrerseits häufig Abhängigkeiten zu anderen Projekten aufweisen, muss in der Software Bill Of Materials die komplette Liste inklusive der transitiven Dependencies enthalten sein. Vergleicht man die SBOM mit einer Zutatenliste für ein Kochrezept, so enthält sie nicht nur die "Gewürzmischung", sondern auch deren einzelnen Inhalte vom Salz bis zum Estragon.

GitHub verweist bei der Ankündigung der Exportfunktion auf die Executive Order 14028. Angesichts der wachsenden Zahl von Angriffen auf die Software Supply Chain hatte das Weiße Haus im Mai 2021 diese Anweisung zum Verbessern der Cybersecurity der USA veröffentlicht, die explizit SBOMs als Methode zur Absicherung der Supply Chain aufführt.

Die neue Funktion untersucht das Projekt nicht auf seine Dependencies, sondern gibt den Stand des Dependency Graph im Standardformat SPDX (Software Package Data Exchange) aus, das eine Arbeitsgruppe der Linux Foundation entwickelt hat. Der Standard sieht fünf unterschiedliche Dateiformate für SPDX vor, und der Export auf GitHub verwendet JSON.

Der Export-Button erstellt eine SBOM aus dem Dependency Graph des Repository als JSON-Datei.

(Bild: GitHub)

Abseits des Export-Buttons ist der Export von SBOMs aus Repositories nicht neu. Für GitHub-Actions existieren seit geraumer Zeit Tools von Drittanbietern, die SBOMs erstellen. Neben dem manuellen Export über den neuen Button bietet GitHub zudem das Kommandozeilenwerkzeug gh-sbom an, um SBOMs programmatisch zu erstellen.

Weitere Details zum SBOM-Export aus dem Dependency Graph lassen sich dem GitHub-Blog entnehmen. Die Exportfunktion ist für alle Cloud-Repositories auf der GitHub kostenlos verfügbar.

(rme)