Embed dependency information into Rust binaries for vulnerability auditing in production.
cargo-auditable is a Cargo subcommand that embeds a JSON-formatted dependency tree into compiled Rust executables. It enables post-build auditing for known security vulnerabilities, allowing teams to audit production binaries at scale without maintaining separate dependency manifests, which facilitates supply chain security.
Rust developers and DevOps/security engineers who need to audit Rust binaries in production environments for security vulnerabilities. It is particularly relevant for teams distributing Rust applications via Linux distributions, container images, or release artifacts.
Developers choose cargo-auditable because it provides a minimal-overhead solution (adding less than 4kB to binary size) for embedding dependency data directly into binaries, enabling vulnerability scanning with tools like cargo-audit, Trivy, and Grype without extra bookkeeping. Its interoperability and support across platforms (Linux, Windows, macOS, WebAssembly) make it a pragmatic tool for existing security workflows.
Make production Rust binaries auditable
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adds less than 4KB to binary size even for large dependency trees, as stated in the FAQ, making it practical for most applications without significant bloat.
Integrates with popular security scanners like cargo-audit, Trivy, and Grype, and SBOM generators like Syft, enabling seamless vulnerability reporting and data conversion.
Officially supports Linux, Windows, macOS, and WebAssembly, with adoption by Linux distributions and container images for production auditing.
Works as a drop-in replacement for Cargo or via aliasing, with minimal setup required to embed dependency data in binaries.
Does not prevent supply chain attacks; the README explicitly advises using cargo-vet or cargo-crev for that, limiting its role to post-build auditing.
To use Cargo's native SBOM precursor for more accurate data, nightly Rust is required, which may not be stable for production environments.
Can cause disruptions like needing to touch files or clean builds due to Cargo bugs, as noted in the usage section for nightly features.