You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sbom,bomsh: hash the bomsh-traced binary, fix doc/SBOM.md
make bomsh previously left the SHA-256 in checksums[] (post-libtool-
relink, hashed by `make sbom`'s private staging install) and the
OmniBOR gitoid in externalRefs (pre-relink, traced by bomtrace3)
describing two different files inside the same SPDX document.
Add SBOM_LIB_OVERRIDE to Makefile.am: the bomsh recipe now discovers
the traced library under src/.libs/ and passes it to the nested
`make sbom` invocation, so checksums[] hashes the same artefact that
bomsh_sbom.py enriches with OmniBOR ExternalRefs.
doc/SBOM.md:
- §3.5 rewritten to match bomsh_verify.py reality (gates A and B
only). The previously documented gate (C) "Artefact correspondence
-- gitoid == git-blob hash of libwolfssl.{so,dylib,a}" was never
implementable: bomsh attaches the OmniBOR Input Manifest bom_id,
not the binary's content gitoid, so that check would always fail.
New "Identity of the SHA-256" subsection explains the
SBOM_LIB_OVERRIDE binding instead.
- §3.2 step ordering corrected (clean before bomtrace3, override
plumbing in step 5).
- Intro NTIA claim qualified to point at .github/workflows/sbom.yml
for the actual validator set.
- §2.4 "Third-party deps: none" qualified to mention --with-libz /
--with-liboqs and the host C runtime.
- §2.4 PURL row updated to the new pkg:github shape.
Copy file name to clipboardExpand all lines: doc/SBOM.md
+46-21Lines changed: 46 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,9 +21,12 @@ covered:
21
21
|`python3 scripts/gen-sbom …` (standalone) | Embedded / RTOS customers building with their own Makefile, Keil, IAR, STM32CubeIDE, ESP-IDF, Zephyr, plain CMake, etc. | Any |
| Third-party deps | none (wolfssl has no runtime dependencies in a default build)|
423
+
| Third-party deps | none in a default build; `--with-libz` adds zlib and `--with-liboqs` adds liboqs (recorded as `DEPENDS_ON` packages with their own purl/CPE/supplier). All builds depend transitively on the host C runtime; this is not enumerated as an SBOM component since it is system-supplied and varies per runtime target.|
421
424
422
425
#### License detection
423
426
@@ -578,19 +581,25 @@ Place `bomsh_create_bom.py` (and optionally `bomsh_sbom.py`) from the bomsh
578
581
579
582
### 3.2 What make bomsh does
580
583
581
-
1. Writes a build-local `_bomsh.conf` redirecting the raw logfile out of
584
+
1. Runs `make clean` to ensure a full rebuild. This is necessary because
585
+
`bomtrace3` intercepts syscalls live during compilation and cannot
586
+
post-process an already-built tree. This step also removes any prior
587
+
`wolfssl-<version>.{cdx,spdx}.json` from a stand-alone `make sbom`,
588
+
which is intentional: the document `make bomsh` enriches must come
589
+
from the *traced* rebuild, not from a stale pre-trace one.
590
+
2. Writes a build-local `_bomsh.conf` redirecting the raw logfile out of
582
591
`/tmp/` to the build directory (avoids collisions between concurrent
583
592
builds).
584
-
2. Runs `make clean` to ensure a full rebuild. This is necessary because
585
-
`bomtrace3` intercepts syscalls live during compilation and cannot
0 commit comments