Skip to content

feat(release): embed SBOM in published binaries via cargo-auditable - #166

Merged
anelson merged 2 commits into
masterfrom
feat/27-embed-sbom-in-published-binaries
May 27, 2026
Merged

feat(release): embed SBOM in published binaries via cargo-auditable#166
anelson merged 2 commits into
masterfrom
feat/27-embed-sbom-in-published-binaries

Conversation

@anelson

@anelson anelson commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Per this issue comment, the maintainer of cargo-auditable has published a new release (0.7.5) that includes the missing aarch64-unknown-linux-musl artifact, the lack of which was preventing us from enabling cargo-auditable in our dist process. Now that this is available, we can run cargo-auditable against all of our various platform binaries, thereby embedding an SBOM that security scanner tools can read.

Closes #27.

@anelson
anelson force-pushed the feat/27-embed-sbom-in-published-binaries branch from 7b14487 to 6c3a4cd Compare May 27, 2026 14:48
@anelson
anelson marked this pull request as ready for review May 27, 2026 14:49
@anelson
anelson force-pushed the feat/27-embed-sbom-in-published-binaries branch from 6c3a4cd to 839f79c Compare May 27, 2026 15:17
anelson added 2 commits May 27, 2026 17:21
Enable cargo-dist's built-in cargo-auditable support so that release
artifacts embed dependency information (SBOM) directly into the
binaries. Downstream tools like `cargo audit bin` can then scan a
shipped binary against the exact dependency tree it was built from.

Bumps cargo-dist from 0.30.2 to 0.31.0 and regenerates release.yml.

Note: this depends on cargo-auditable publishing an
aarch64-unknown-linux-musl binary. The fix has been merged upstream
(rust-secure-code/cargo-auditable#250) but a release containing that
artifact has not yet been cut, so until then the aarch64-musl release
job will fail at the install step.

Closes #27.
Update to the latest cargo-dist (probably not needed but making sure to
stay up to date) and enable cargo-auditable now that it finally
publishes all needed architecture/platform combinations of its
artifacts.

See
<rust-secure-code/cargo-auditable#250 (comment)>
for the event that finally made this possible.
@anelson
anelson merged commit d36d68e into master May 27, 2026
19 checks passed
@anelson
anelson deleted the feat/27-embed-sbom-in-published-binaries branch May 27, 2026 17:17
anelson added a commit that referenced this pull request Jul 31, 2026
Enables using Github Attestations at release time so future release
artifacts will be attested. That includes making the `cgx` Github action
default to verifying attestation on the release artifacts that it pulls.

Separate from this PR, I have recently modified the repo config to
enable immutable releases, so after this lands and we make another
release, releases going forward will be both attested, and immutable.

Going forward, users of `cgx` will be able to cryptographically confirm
that whatever `cgx` release artifacts they download were indeed produced
by the official `cgx` project's Github Actions release workflow. That's
not quite a 100% bulletproof assurance that the cgx SBOM is clean, but
that combined with the SBOM embedded in all cgx artifacts (#166) should
give users more confidence that their `cgx` binaries are safe.

Closes #39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use cargo-auditable to embed SBOM data into official cgx binaries

1 participant