Seit ein paar Wochen gibt es die neue Version 2.7.11 von CycloneDX. Wenn das nicht nicht ein Grund ist, einen neue SBOM zu erzeugen. Eine Software Bill of Materials (SBOM) ist eine Liste der Bestandteile und Komponenten einer Softwareanwendung sowie ihrer Beziehungen zueinander. Hier hatte ich ja schon mal beschrieben wie man mit Maven und dem CycloneDX Plugin eine erzeugt. Hier sind die 10 wichtigsten Gründe, warum Benutzer eine SBOM benötigen:
Sicherheitsmanagement: Eine SBOM ermöglicht es Organisationen, potenzielle Sicherheitslücken und Schwachstellen in den Komponenten ihrer Software zu identifizieren und zu verwalten. Dadurch können Sicherheitsrisiken besser bewertet und behoben werden.
Compliance: In einigen Branchen und für bestimmte Arten von Softwareentwicklungsprojekten sind Compliance-Anforderungen zu erfüllen. Eine SBOM kann helfen, die Einhaltung dieser Vorschriften zu dokumentieren und zu gewährleisten.
Lieferkettenmanagement: Unternehmen, die Software von Drittanbietern erwerben oder in ihre eigenen Produkte integrieren, benötigen Transparenz über die Herkunft und den Inhalt dieser Software. Eine SBOM erleichtert das Management der Lieferkette und die Verfolgung von Komponenten.
Lizenzmanagement: Eine SBOM hilft bei der Identifizierung und Verwaltung von Softwarelizenzen. Durch die Aufzeichnung der Lizenzinformationen für jede Komponente können Unternehmen sicherstellen, dass sie die Lizenzvereinbarungen einhalten und potenzielle Lizenzkonflikte vermeiden.
Risikomanagement: Mit einer SBOM können Unternehmen potenzielle Risiken in ihrer Softwareumgebung besser verstehen und bewerten. Dies umfasst nicht nur Sicherheitsrisiken, sondern auch Risiken im Zusammenhang mit Leistung, Zuverlässigkeit und Kompatibilität.
Patch-Management: Durch die Bereitstellung einer detaillierten Liste von Softwarekomponenten und ihren Versionen erleichtert eine SBOM das Patch-Management. Organisationen können schnell identifizieren, welche Komponenten von Sicherheitsupdates betroffen sind und entsprechende Maßnahmen ergreifen.
Transparenz und Vertrauen: Eine SBOM fördert die Transparenz und das Vertrauen zwischen Softwarelieferanten und -kunden. Durch die Offenlegung von Informationen über die Softwarezusammensetzung können Lieferanten das Vertrauen ihrer Kunden stärken und Kunden die Möglichkeit geben, fundierte Entscheidungen zu treffen.
Haftungsmanagement: Eine klare Dokumentation der Softwarekomponenten und deren Herkunft kann dazu beitragen, Haftungsfragen im Falle von Sicherheitsvorfällen oder anderen Problemen zu klären.
Effektives Debugging und Troubleshooting: Bei der Fehlerbehebung und Problemanalyse kann eine SBOM wertvolle Informationen liefern, indem sie den Entwicklern einen Überblick über die verwendeten Komponenten und deren Abhängigkeiten bietet.
Zukünftige Entwicklungsplanung: Eine SBOM kann bei der Planung zukünftiger Entwicklungsaktivitäten helfen, indem sie Einblicke in die vorhandenen Softwarekomponenten und ihre Eigenschaften liefert. Dies kann die Entscheidungsfindung bei der Auswahl neuer Komponenten oder bei der Aktualisierung bestehender Komponenten unterstützen.
Erzeugung:
In der pom.xml das Plugin eintragen und ein mvn package:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<!-- für die Erzeugung von SBOMs im Target Verzeichnis --> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <version>2.7.11</version> <executions> <execution> <phase>package</phase> <goals> <goal>makeAggregateBom</goal> </goals> </execution> </executions> <configuration> <projectType>library</projectType> <schemaVersion>1.5</schemaVersion> <includeBomSerialNumber>true</includeBomSerialNumber> <includeCompileScope>true</includeCompileScope> <includeProvidedScope>true</includeProvidedScope> <includeRuntimeScope>true</includeRuntimeScope> <includeSystemScope>true</includeSystemScope> <includeTestScope>false</includeTestScope> <includeLicenseText>false</includeLicenseText> <outputReactorProjects>true</outputReactorProjects> <outputFormat>all</outputFormat> <outputName>bom</outputName> </configuration> </plugin> </plugins> |
Und schon liegen die SBOMs im target Verzeichnis im XML und JSON Format. Cool!