feat(release): embed SBOM in published binaries via cargo-auditable - #166
Merged
Conversation
anelson
force-pushed
the
feat/27-embed-sbom-in-published-binaries
branch
from
May 27, 2026 14:48
7b14487 to
6c3a4cd
Compare
anelson
marked this pull request as ready for review
May 27, 2026 14:49
anelson
force-pushed
the
feat/27-embed-sbom-in-published-binaries
branch
from
May 27, 2026 15:17
6c3a4cd to
839f79c
Compare
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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Per this issue comment, the maintainer of cargo-auditable has published a new release (0.7.5) that includes the missing
aarch64-unknown-linux-muslartifact, 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.