Dela via


Programvarufakturering av material i vcpkg

vcpkg genererar en programvarufaktura (SBOM) baserat på SPDX-specifikationen (Software Package Data Exchange ). Den spårar viktig information som används för att skapa ett paket, till exempel ursprung från källan, och syftar till att ge paketkonsumenterna insyn och integritet i programvaran. Mer information finns i det här blogginlägget om SBOM och SPDX .

vcpkg genererar en SPDX-fil som innehåller SBOM-informationen för varje paket som är installerat. Filerna finns i <installed_dir>/<triplet>/share/<package name>/vcpkg.spdx.json. Installationskatalogen beror på om vcpkg körs i manifestläge eller klassiskt läge. Eftersom ett paket kan ha olika beroenden beroende på målplattformen avgränsas även de genererade filerna med trillingar.

Specifika fält för vcpkg

Följande fält som genereras av vcpkg kan visas i din SBOM beroende på hur paketet skapas.

namn

Refererar till dokumentets namn. Det här fältet innehåller paketnamnet, trillingen, versionen följt av den ABI-hash som används för att identifiera paketet.

SPDX-referens: Fältet Dokumentnamn

creationInfo

Refererar till skaparen av dokumentet, vcpkg. Fältet creators innehåller vcpkg följt av versionen.

SPDX-referens: Skaparfält

Relationer

Innehåller information om relationen mellan vcpkg SPDX-element. SPDXRef-port refererar till porten, SPDXRef-file-N refererar till varje fil i porten inklusive portfile.cmake och SPDXRef-binary refererar till det binära paketet. I vcpkg genereras det binära paketet av porten.

SPDX-referens: Fältet Relationer

Paket

Refererar till varje paket som genereras av vcpkg. SPDXRef-port refererar till porten och SPDXRef-binary refererar till det binära paketet och SPDXRef-resource refererar till alla källor som används i vcpkg-portfilen. vcpkg genererar heuristiskt källinformation från portfile.cmake genom att parsa vcpkg_from_github, vcpkg_from_gitvcpkg_download_distfile och vcpkg_from_sourceforge -anrop.

SPDX-referens: Paketinformation

filer

Refererar till var och en av filerna i porten. Den innehåller en relativ sökväg till filen och en kontrollsumma.

SPDX-referens: Filinformation

Stöd för CycloneDX

vcpkg stöder inte CycloneDX SBOM-formatet ur lådan. Vi rekommenderar att du använder verktyget CycloneDX CLI för att konvertera SPDX JSON-filerna som genereras av vcpkg till CycloneDX-formatet.

Till exempel:

cyclonedx convert --input-file vcpkg.spdx.json --input-format spdxjson --output-format json --output-file <file>

Viss beroendeinformation för vcpkg kan gå förlorad under konverteringen. Mer information finns i CycloneDX-dokumentationen .