Skip to content

Conversation

@thanhnguyen-mdb
Copy link

This PR adds automated SBOM (Software Bill of Materials) generation and verification for the MongoDB Rust driver. It includes a script to generate CycloneDX-compliant SBOMs using cargo-cyclonedx and mise, plus a verification script that ensures SBOMs stay current when dependencies change. The CI configuration automatically checks for stale SBOMs on patch requests, requiring developers to regenerate the SBOM locally before patches can pass.

Right now evergreen always passes. A follow-up PR will be submitted once evergreen are verified.

@abr-egn
Copy link
Contributor

abr-egn commented Nov 13, 2025

The CI configuration automatically checks for stale SBOMs on patch requests, requiring developers to regenerate the SBOM locally before patches can pass.

This check is a bit of a problem for two reasons:

  • we often have external contributors send us small PRs to update dependencies when they're motivated by their own project; this would add an extra barrier to that process
  • we have dependabot configured to update our Cargo.lock on a weekly cadence so we can keep it checked in for stable builds but not worry about it getting stale; those autogenerated PRs would fail this check

Since the check failing just prompts the developer to run a script locally (there's no real human judgement call happening here), what would you think about replacing it with a github action to automatically regenerate the SBOM for relevant incoming PRs? That would solve both of those issues and still ensure the SBOM is up to date.

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.

2 participants