MinBZK / regels.overheid.nl

This monorepo stores all code and assets of all projects with which we develop regels.overheid.nl
https://regels.overheid.nl/roadmap
European Union Public License 1.2
19 stars 6 forks source link

Genereer Software Bill of Materials (SBoM) bij elke release #427

Closed sgort closed 6 months ago

sgort commented 9 months ago

Dit issue vervangt #343

Belangrijke ontwikkelingen:

  1. Vanuit NCSC worden SBoMs gepromoot https://www.ncsc.nl/onderzoek/onderzoeksresultaten/software-....
  2. In het voorstel voor de Europese Cyberresilience Act (CRA) wordt expliciet over een softwarestuklijst (a.k.a. SBoM) gesproken (overweging 37, 63, art 3.37, 10.15, bijlage I punt 2.1, bijlage V punt 2b en 7)
  3. Het ziet er naar uit dat het meeleveren van een SBoM verplicht wordt gesteld voor levering van software aan de overheid, mogelijk als onderdeel van de invoering van de Nederlandse implementatie van de Europese NIS2-richtlijn.
  4. Beschikbare tools maken het nu al mogelijk met een heel kleine inspanning automatisch genereren en meeleveren van een SBoM op te nemen in CI/CD-pijplijnen.

Zolang je een SBoM hebt volgens een breed gedragen standaard, kan je kiezen welke tool je gebruikt. In de praktijk betekent dat SPDX (https://spdx.dev/) of CycloneDX (https://cyclonedx.org/).

Dependency Track (https://dependencytrack.org/) is een van de state-of-the-art tools, dat met CycloneDX kan werken.

Zie ook SBOM startergids (https://www.ncsc.nl/onderzoek/documenten/publicaties/2023/juli/5/sbom-startersgids).

User stories

MrtnvdS commented 7 months ago

Er is een tool genaamd Syft die je kunt gebruiken om een container image te scannen en een SPDX format (of enkele andere formaten) SBOM lijst te genereren. Deze tool laat zich als plugin in docker installeren. Maar kan ook rechstreeks worden aangeroepen. Ik heb het volgende experiment in mijn lab gedaan: -.Syft als docker plugin geïnstalleerd -.enkele SBOM's van een container image in verschillende formaten waaronder SPDX gegenereerd middels het "docker sbom" commando Het hele experiment (uitzoeken Syft, als plugin installeren en wat SBOM's genereren) was heel snel voor elkaar.

Hier vind je een handleiding om Syft als docker plugin in te zetten: https://earthly.dev/blog/docker-sbom/#:~:text=How%20to%20Generate%20a%20SBOM%20for%20Your%20Docker,Platform%20...%206%20Exclude%20Specific%20Container%20Paths%20

Hier een andere om Syft direct in te zetten: https://anchore.com/sbom/how-to-generate-an-sbom-with-free-open-source-tools/

sgort commented 7 months ago

Dank @MrtnvdS ! Werkt perfect.

onursagir commented 6 months ago

@sgort onze SBOM is momenteel al beschikbaar op https://github.com/MinBZK/regels.overheid.nl/network/dependencies