Bill of Materials

Bill of Materials

Eine Bill of Materials ist eine vollständige Liste aller Bestandteile, aus denen ein Produkt zusammengesetzt ist. In der Technik wird sie heute vor allem für Software geführt, damit Hersteller und Kunden wissen, welche fremden Bauteile in einem Programm stecken.

Eine Bill of Materials ist eine Liste aller Teile, aus denen ein Produkt besteht. Der Begriff kommt aus der Industrie: Für ein Fahrrad stünden dort Rahmen, Kette, Bremsen, Reifen und jede einzelne Schraube. Zu jedem Teil gehören Angaben wie Hersteller, Typnummer und Menge. Auf Deutsch nennt man so eine Liste Stückliste. In der Technikbranche taucht der Begriff heute vor allem in einer besonderen Form auf: als Verzeichnis der Bestandteile eines Computerprogramms. Diese Variante heißt Software Bill of Materials, kurz SBOM.

Warum niemand mehr weiß, was in seiner Software steckt

Moderne Programme werden kaum noch von Grund auf neu geschrieben. Entwickler bauen fertige Bausteine ein, die andere Leute programmiert und kostenlos veröffentlicht haben. Solche Bausteine heißen Bibliotheken. Eine einzige App kann hunderte davon enthalten, und diese Bibliotheken nutzen wiederum eigene Bibliotheken.

Dadurch entsteht ein Problem. Wird in einem dieser Bausteine eine Sicherheitslücke gefunden, weiß fast niemand, wer den Baustein überhaupt verwendet. Genau das passierte Ende 2021 mit einer Bibliothek namens Log4j. Sie steckte in Millionen von Systemen weltweit, und Behörden wie Konzerne verbrachten Wochen damit, überhaupt herauszufinden, ob sie betroffen waren.

Eine Bill of Materials macht diese Suche zu einer Datenbankabfrage von wenigen Sekunden. Deshalb schreiben Regeln inzwischen vor, dass es sie geben muss. Die US-Regierung verlangt seit 2021 eine SBOM von Software-Lieferanten. Der Cyber Resilience Act der EU fordert Ähnliches für Produkte mit digitalen Bestandteilen.

Was in so einer Liste steht

Eine Bill of Materials wird nicht von Hand getippt. Spezielle Werkzeuge durchsuchen den Programmcode und die Bauanleitung des Projekts. Sie erkennen jeden eingebundenen Baustein automatisch und schreiben ihn samt Versionsnummer in eine Datei.

Wichtig ist dabei die genaue Version. Sicherheitslücken betreffen fast immer nur bestimmte Versionen eines Bausteins. Der Eintrag enthält deshalb typischerweise Name, Version, Herausgeber, die Lizenz und eine Prüfsumme. Die Prüfsumme ist eine Art digitaler Fingerabdruck, an dem man erkennt, ob die Datei unterwegs verändert wurde.

Damit unterschiedliche Programme die Listen lesen können, gibt es feste Formate. Die beiden verbreiteten heißen SPDX und CycloneDX. Beide sind maschinenlesbar, keine Fließtexte für Menschen. Eine Sicherheitssoftware kann so täglich alle Listen eines Unternehmens gegen eine Datenbank bekannter Schwachstellen abgleichen.

Von der Stückliste zur KI-Zutatenliste

Wer Software beruflich einkauft, bekommt die Bill of Materials heute oft mit dem Vertrag geliefert. Auch Endgeräte betrifft das: Ein vernetzter Fernseher oder ein Auto enthält Software, für die Hersteller künftig Rechenschaft ablegen müssen. Im Alltag sieht man diese Listen selten, aber sie stecken hinter Sicherheitsupdates, die plötzlich für viele Geräte gleichzeitig erscheinen.

In der KI-Branche wird die Idee gerade erweitert. Bei einem Sprachmodell reicht eine Liste von Programmbausteinen nicht aus. Interessant sind auch die Trainingsdaten, das Grundmodell, auf dem es aufbaut, und die Lizenzbedingungen. Dafür kursiert der Begriff AI-BOM oder Model Card mit Herkunftsangaben.

Ein verbreiteter Irrtum ist, dass eine Bill of Materials Software sicher macht. Das tut sie nicht. Sie ist reine Buchhaltung und sagt nur, was drin ist, nicht ob es gut ist. Ihr Wert liegt darin, dass im Ernstfall niemand raten muss.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.