| Framework | Present | Gap | Failed | Review | Total |
|---|---|---|---|---|---|
| BSI TR-03183-2 — SBOM data fields (EU CRA) | 10 | 3 | 0 | 1 | 14 |
| US SBOM minimum elements | 12 | 7 | 0 | 4 | 23 |
| # | Status | Requirement | Required | Detail | Evidence / how |
|---|---|---|---|---|---|
| 1 | PASS | Spec version (CycloneDX 1.3/1.4/1.5/1.6/1.7) | yes | CycloneDX 1.6 | |
| 2 | PASS | Timestamp (metadata.timestamp) | yes | 2026-10-26T16:56:39Z | |
| 3 | PASS | Tool info (metadata.tools) | yes | 2 tool(s) | |
| 4 | PASS | Top-level component name+version | yes | nginx@1.24-alpine | |
| 5 | PASS | Component name+version coverage (100%) | yes | 62/62 | |
| 6 | PASS | PURL coverage (>= 90%) | yes | 100% (62/62) | |
| 7 | PASS | File component identifier coverage (hash, >= 80%, recommended) | no | 100% (1822/1822) | |
| 8 | PASS | Traceable PURL (no pkg:generic, advisory) | no | 0 untraceable | |
| 9 | PASS | PURL syntax (pkg:type/[namespace/]name) | yes | 0 malformed | |
| 10 | PASS | PURL namespace where the type requires it (pkg:maven/<groupId>/name) | yes | 0 without namespace | |
| 11 | N/A | PURL namespace for golang/huggingface (advisory) | no | no identifiers of a type that requires a namespace | |
| 12 | PASS | PURL type defined by purl-spec (advisory) | no | 0 undefined type(s) | |
| 13 | PASS | Transitive dependencies (graph edges) | yes | 142 edge(s), graph completeness unknown (no positive evidence found, not a defect) | |
| 14 | WARN | License coverage (>= 80%, recommended) | no | 3% (62/1885) | |
| 15 | PASS | Hash coverage (>= 50%, recommended) | no | 96% (1822/1885) | |
| 16 | WARN | SHA-512 checksum coverage (>= 80%, recommended) | no | 0% (0/1885) | |
| 17 | PASS | Component creator coverage (>= 80%, recommended) | no | 100% (62/62) | |
| 18 | WARN | Component filename coverage (>= 80%, recommended) | no | 0% (0/62) | |
| 19 | PASS | Source or distribution URI coverage (>= 80%, recommended) | no | 100% (62/62) | |
| 20 | REVIEW | Delivered-file properties (executable/archive/structured) | no | requires inspecting the delivered files (no automated source in this scan) | |
| 21 | WARN | SBOM author | no | not present in the SBOM | How to fill this |
| 22 | WARN | SBOM author signature | no | not present in the SBOM | What to establishA signature carried inside the document, or a detached one sitting next to the SBOM as <sbom-filename>.sig (cosign's own convention, e.g. from --sign), is detected automatically and this row will say so. A detached signature under a different name or location is not visible here, because this report only looks for that one convention. Verify it against the sender's key before treating the contents as theirs, and record that you did. |
| 23 | PASS | SBOM data format name | no | present | |
| 24 | PASS | SBOM data format version | no | present | |
| 25 | PASS | SBOM generation context | no | present | |
| 26 | PASS | SBOM timestamp | no | present | |
| 27 | PASS | SBOM tool name | no | present | |
| 28 | PASS | SBOM tool version | no | present | |
| 29 | PASS | SBOM version | no | present | |
| 30 | PASS | Component name | no | 1886/1886 component(s) | |
| 31 | WARN | Component version | no | 64/1886 component(s) | |
| 32 | WARN | Component producer | no | 62/1886 component(s) | How to fill this |
| 33 | WARN | Component identifiers | no | 1884/1886 component(s) | pkg:apk/alpine/alpine-baselayout-data@3.4.0-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/alpine-baselayout@3.4.0-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/alpine-keys@2.4-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/aom-libs@3.5.0-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/apk-tools@2.12.10-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/brotli-libs@1.0.9-r9?arch=x86_64&distro=3.17.7, pkg:apk/alpine/busybox-binsh@1.35.0-r29?arch=x86_64&distro=3.17.7, pkg:apk/alpine/busybox@1.35.0-r29?arch=x86_64&distro=3.17.7, pkg:apk/alpine/ca-certificates-bundle@20230506-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/ca-certificates@20230506-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/curl@8.5.0-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/fontconfig@2.14.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/freetype@2.12.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/geoip@1.6.12-r3?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libavif@0.11.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libbsd@0.11.7-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libbz2@1.0.8-r4?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libc-utils@0.7.2-r3?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libcrypto3@3.0.12-r4?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libcurl@8.5.0-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libdav1d@1.0.0-r2?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libedit@20221030.3.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libexpat@2.6.2-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libgcrypt@1.10.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libgd@2.3.3-r3?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libgpg-error@1.46-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libice@1.0.10-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libintl@0.21.1-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libjpeg-turbo@2.1.4-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libmd@1.0.4-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libpng@1.6.39-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libsm@1.2.3-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libssl3@3.0.12-r4?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libuuid@2.38.1-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libwebp@1.2.4-r3?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libx11@1.8.7-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxau@1.0.10-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxcb@1.15-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxdmcp@1.1.4-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxext@1.3.5-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxml2@2.10.4-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxpm@3.5.15-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxslt@1.1.37-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/libxt@1.2.1-r0?arch=x86_64&distro=3.17.7, pkg:apk/alpine/musl-utils@1.2.3-r5?arch=x86_64&distro=3.17.7, pkg:apk/alpine/musl@1.2.3-r5?arch=x86_64&distro=3.17.7, pkg:apk/alpine/ncurses-libs@6.3_p20221119-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/ncurses-terminfo-base@6.3_p20221119-r1?arch=x86_64&distro=3.17.7, pkg:apk/alpine/nghttp2-libs@1.51.0-r2?arch=x86_64&distro=3.17.7, pkg:apk/alpine/nginx-module-geoip@1.24.0-r1?arch=x86_64&distro=3.17.7 |
| 34 | WARN | Component license | no | 62/1886 component(s) | |
| 35 | WARN | Component hash value | no | 1822/1886 component(s) | How to fill this |
| 36 | PASS | Component hash algorithm | no | 1886/1886 component(s) | |
| 37 | PASS | Component dependency relationship | no | present | |
| 38 | PASS | Machine-processable data | no | present | |
| 39 | REVIEW | Coverage | no | requires human review (no automated source) | What to establishEstablish that the SBOM lists every component making up the software, transitive dependencies included. No tool can confirm this from the document alone — the document cannot show what was left out of it. Compare it against the build's own dependency resolution, or against the manifests the software is built from. |
| 40 | REVIEW | Accommodation of updates to SBOM data | no | requires human review (no automated source) | What to establishEstablish that there is a way to correct SBOM data after it has been published, and that corrections go out promptly. This is a practice of the organisation issuing the SBOM, not a field in it. |
| 41 | REVIEW | Distribution and delivery | no | requires human review (no automated source) | What to establishEstablish that whoever needs the SBOM can get it promptly, and that any access control keeps unauthorized parties out without blocking authorized ones or preventing the data from being loaded into their security tools. |
| 42 | PASS | Explicitly identifying unknown information | no | present | |
| 43 | REVIEW | Frequency | no | requires human review (no automated source) | What to establishEstablish that each software version or update has an SBOM of its own, and that a revised SBOM is issued when the component data changes or an error in it is found. |
| 44 | N/A | PURL resolves in its repository (advisory) | no | repository lookup not run |