Hur skapar man en SBOM?
Verktyg och kommandon för att skapa en SBOM från källkod eller en container
En SBOM skapas av ett verktyg som går igenom ett projekt och listar komponenterna det hittar. Det finns flera verktyg med öppen källkod som gör det från kommandoraden, och de går att köra både på en utvecklares dator och i en byggpipeline.
Verktyg med öppen källkod
| Verktyg | Från | Läser |
|---|---|---|
| Syft | Anchore | Kataloger, containeravbildningar, arkiv |
| Trivy | Aqua | Kataloger, containeravbildningar, kodförråd |
| cdxgen | CycloneDX | Källkod i många språk och byggsystem |
| Observer CLI | Bytesafe | Kataloger och containeravbildningar |
Exempel
Skapa en SBOM i CycloneDX-format från katalogen du står i:
syft dir:. -o cyclonedx-json=sbom.cdx.jsontrivy fs --format cyclonedx --output sbom.cdx.json .observer fs -o sbom.cdx.json .Skapa en SBOM från en containeravbildning:
syft nginx:latest -o cyclonedx-json=sbom.cdx.jsonVar i processen
Skapa SBOM:en i bygget, inte i efterhand. En SBOM som skapas när beroendena är installerade och låsta innehåller de versioner som faktiskt levereras, inklusive transitiva beroenden. Lägg kommandot som ett steg i pipelinen och spara filen tillsammans med releasen.
Olika typer av SBOM:ar beskriver skillnaden mellan en SBOM från källkod, från bygget och från en färdig artefakt. SBOM och DevOps beskriver hur det byggs in i en pipeline.
Granska resultatet
Olika verktyg ger olika resultat för samma projekt. Kontrollera att SBOM:en innehåller det du förväntar dig:
- Finns alla ekosystem i projektet med, till exempel både npm och Python?
- Har komponenterna versioner och unika identifierare (purl)?
- Finns de transitiva beroendena med, och relationerna mellan komponenterna?
Varför är SBOM-kvalitet viktigt? går igenom vanliga brister.
Analysera en SBOM
Verktygen ovan kan ofta också jämföra en SBOM mot kända sårbarheter. Grype och osv-scanner är två verktyg som är gjorda för just det.
För en snabb överblick utan att installera något finns webbverktyget SBOM Analyzer från Bytesafe. Det är gratis och visar antal komponenter, kända sårbarheter, licenser och om SBOM:en uppfyller SBOM Minimum Elements.