Skip to content

Releases: cpeoples/cudabom

Release list

v0.1.0

Choose a tag to compare

@cpeoples cpeoples released this 17 Oct 13:45
c5ef6ee

CudaBOM

First public release of cudabom, an open-source Rust CLI that proves which
NVIDIA CUDA software is actually inside a built artifact and turns that
evidence into SBOM, advisory, and VEX data.

cudabom scans compiled, packaged artifacts (Python wheels, shared libraries,
executables, static archives, and container image layers), identifies the CUDA
components physically inside them, and correlates each identified version
against NVIDIA's security bulletins. It reads what the build produced, not what
the source or dependency manifests declared, so it finds CUDA that is
statically linked, vendored, or renamed. It never runs, loads, or JIT-compiles
what it scans, and it needs no GPU.

cudabom is an independent project. It is not an NVIDIA product and is not
affiliated with NVIDIA.

What you can do with it

  • scan: identify CUDA components in an artifact, correlate them to NVIDIA
    advisories, and optionally fail the build with --fail-on found or
    --fail-on affected.
  • gate: enforce a policy file (severity floors, component allow and deny
    lists) for CI.
  • enrich: add the CUDA an existing CycloneDX SBOM missed, keeping the input
    document byte for byte and adding only the new components.
  • reconcile: compare what a vendor declared (SBOM and VEX) against what
    cudabom discovered, bucketing each component as matched, declared only, or
    discovered only.
  • vex: emit a CycloneDX 1.6 VEX document carrying the advisory verdicts.
  • explain: show the evidence behind a single finding.
  • update and db: install or refresh the versioned fingerprint and advisory
    data.

Output formats: table, native JSON (with a published schema via
cudabom schema), CycloneDX, SARIF, and Markdown. Write any of them to a file
with -o.

Identification model

Every finding carries an evidence model with EXACT, LIKELY, or UNKNOWN
confidence, backed by concrete evidence such as a matched SHA-256, a build-id,
or a symbol set. cudabom never asserts more than the evidence supports: a
confident wrong answer is treated as worse than reporting unknown. Output is
deterministic so diffs and snapshots stay meaningful.

Data in this release

cudabom ships as a single binary that carries no data. The fingerprint and
advisory data is published separately as a signed bundle and installed with
cudabom update.

  • Fingerprints spanning CUDA 11.4.2 through 13.4.3, plus the cuDNN, NCCL,
    cuDSS, cuTENSOR, cuSPARSELt, cuBLASMp, cuQuantum, nvCOMP, nvJPEG2000, nvTIFF,
    NVPL, NVSHMEM, and Jetson product families.
  • 76 NVIDIA security advisories normalized from NVIDIA's machine-readable CSAF
    bulletins, with version-range verdicts.

Install

Each channel drops the same cudabom executable on your PATH. After
installing, run cudabom update once to fetch the data bundle.

cargo install cudabom                     # crates.io
brew install cpeoples/tap/cudabom         # Homebrew
snap install cudabom                      # Snap Store
pip install cudabom                       # PyPI (also: uvx cudabom)

Prebuilt binaries are attached to this release for:

  • Linux x86_64 and aarch64
  • macOS x86_64 and aarch64 (Apple silicon)
  • Windows x86_64

Supply chain and provenance

  • Release archives are covered by SLSA Build Level 3 provenance generated by
    the trusted slsa-github-generator reusable workflow.
  • A CycloneDX SBOM is produced from the Cargo dependency graph.
  • Every archive, the SBOM, and the data bundle are signed with Sigstore.
  • The data bundle is verified against its SHA-256 sidecar on download.

Verify a download with slsa-verifier and cosign against the attached
.intoto.jsonl and signature files.

Security posture

All crates build under #![forbid(unsafe_code)] with panic-free parsers and
bounded extraction. CI runs on hardened runners with SHA-pinned actions and
gates on cargo-audit, cargo-deny, CodeQL, and OpenSSF Scorecard. Report
vulnerabilities via a private advisory as described in SECURITY.md.

Links