High-level crate to extract the dependency trees embedded in binaries by cargo auditable
.
Deserializes them to a JSON string or Rust data structures, at your option.
Features
- Binary parsing designed from the ground up for resilience to malicious inputs.
- 100% memory-safe Rust, including all dependencies. (There is some
unsafe
inserde_json
and its dependencies, but only in serialization, which isn't used here). - Cross-platform, portable, easy to cross-compile. Runs on any Rust target with
std
. - Parses binaries from any supported platform, not just the platform it's running on.
- Supports setting size limits for both input and output, to protect against OOMs and zip bombs.
Usage
// Uses the default limits: 1GiB input file size, 8MiB audit data size
let info = audit_info_from_file?;
Functions to load the data from a Read
instance or from &[u8]
are also provided,
see the documentation.
Alternatives
rust-audit-info
is a command-line interface to this crate.
If you need a lower-level interface than the one provided by this crate,
use the auditable-extract
and
auditable-serde
crates.