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.
When building binaries with rust, they do not include all of the dependency information used to build them, for example cargo packages. This means that if the final image does not include source, which it usually doesn't, there is no way for an sbom scanner to discover the input dependencies.
For example:
In an image generated from the above Dockerfile, an sbom scanner will see solely the final
binary
, scan it, and get nothing.eve-rust already has the tools to handle this by installing
cargo-sbom
plugin. Hence, one can do:Ideally, this would be automated. The upstreaming of
cargo sbom
into cargo itself is in process, see this RFC.While we could create all sorts of convoluted scripts to automate this process here, it would violate the principle of least surprise. Someone would type
cargo build
and get unexpected artifacts, as well as possibly forgetting to copy the json over to final image.Until the above rust-lang RFC is complete, we will rely on human process.
This PR updates the documentation on eve-rust to be much more explicit about the need for SBoM, and includes a link to the RFC process.