GitPedia

Cyclonedx rust cargo

Creates CycloneDX Software Bill of Materials (SBOM) from Rust (Cargo) projects

From CycloneDX·Updated June 25, 2026·View on GitHub·

The CycloneDX module for Rust (Cargo) creates a valid CycloneDX Software Bill of Materials (SBOM) containing an aggregate of all project dependencies. OWASP CycloneDX is a full-stack Bill of Materials (BOM) standard providing advanced supply chain capabilities for cyber risk reduction. The project is written primarily in Rust, distributed under the Apache License 2.0 license, first published in 2019. Key topics include: bill-of-materials, bom, cargo, cargo-plugin, cyclonedx.

Latest release: cyclonedx-bom-0.8.10.8.1 - 2025-03-19
March 19, 2026View Changelog →

Build Status
Crates.io
License
Website
Slack Invite
Group Discussion
Twitter

CycloneDX Rust (Cargo) Plugin

The CycloneDX module for Rust (Cargo) creates a valid CycloneDX Software Bill of Materials (SBOM) containing an
aggregate of all project dependencies.
OWASP CycloneDX is a full-stack Bill of Materials (BOM) standard providing advanced supply chain capabilities for cyber risk reduction.

Structure

This repository contains two separate projects:

  • cyclonedx-bom is a Rust library to read and write CycloneDX SBOMs to and from Rust structs.
  • cargo-cyclonedx is a Rust application, which generates CycloneDX SBOMs for Cargo based Rust projects (it uses cyclonedx-bom for that purpose).

Usage

Execute cargo-cyclonedx from within a Rust project directory containing Cargo.toml.

Installing

bash
cargo install cargo-cyclonedx

Executing binary

bash
~/.cargo/bin/cargo-cyclonedx cyclonedx

Executing from cargo

bash
cargo cyclonedx

Security considerations

cargo-cyclonedx calls into Cargo internally to get information about a Rust project. Like nearly any other build system,
Cargo may run arbitrary code
when invoked on an untrusted project, so cargo-cyclonedx should not be called on untrusted projects either.

Some of the other tools for generating CycloneDX SBOMs do not invoke Cargo and only parse the Cargo.lock file.
However, the only way to generate the Cargo.lock file for them to scan is to invoke Cargo, so this issue is currently unavoidable for any tool that describes a Cargo project.

Contributing

Contributions are welcome.
See our CONTRIBUTING.md for details.

CycloneDX Rust Cargo is Copyright (c) OWASP Foundation. All Rights Reserved.

Permission to modify and redistribute is granted under the terms of the Apache 2.0 license. See the LICENSE file for the full license.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from CycloneDX/cyclonedx-rust-cargo via the GitHub API.Last fetched: 6/27/2026