12 个版本
0.5.4 | 2024 年 5 月 8 日 |
---|---|
0.5.2 | 2022 年 11 月 1 日 |
0.2.0 | 2022 年 7 月 30 日 |
0.1.0 | 2020 年 9 月 7 日 |
#767 在 编码
每月下载量 123 次
22KB
218 行
rust-audit-info
使用 cargo auditable
从二进制文件中提取依赖树的命令行工具。
它负责解析特定平台的格式(ELF、PE、Mach-O)并输出解压缩的 JSON。
此工具故意保持最小化,并且不自行实现漏洞扫描。但是,它对于构建自己的漏洞扫描器非常有用。如果您在寻找一个 Rust 库而不是命令行工具,请参阅 auditable-info
。
功能
- 解析来自任何受支持平台的二进制文件,而不仅仅是它运行的平台。
- 编译成约 400Kb 的自包含可执行文件,没有任何外部依赖。
- 从底层设计用于对恶意输入具有弹性的二进制解析。
- 100% 内存安全的 Rust,包括所有依赖项。依赖树中没有任何内存不安全代码。
- 跨平台,可移植,易于交叉编译。在具有
std
的任何 Rust 目标上运行。 - 支持为输入和输出设置大小限制,以防止 OOM 和 zip bombs。
使用方法
Usage: rust-audit-info FILE [INPUT_SIZE_LIMIT] [OUTPUT_SIZE_LIMIT]
The limits are specified in bytes. The default values are:
INPUT_SIZE_LIMIT: 1073741824 (1 GiB)
OUTPUT_SIZE_LIMIT: 67108864 (64 MiB)
最高可能的 RAM 使用量是 INPUT_SIZE_LIMIT + OUTPUT_SIZE_LIMIT
,加上最多 1MB 的开销。
如果您需要从标准输入读取,请将/dev/stdin
作为FILE
传递。
依赖项
$ cargo geiger
Metric output format: x/y
x = unsafe code used by the build
y = total unsafe code found in the crate
Symbols:
🔒 = No `unsafe` usage found, declares #![forbid(unsafe_code)]
❓ = No `unsafe` usage found, missing #![forbid(unsafe_code)]
☢️ = `unsafe` usage found
Functions Expressions Impls Traits Methods Dependency
0/0 0/0 0/0 0/0 0/0 🔒 rust-audit-info 0.5.2
0/0 0/0 0/0 0/0 0/0 🔒 └── auditable-info 0.6.2
0/0 0/0 0/0 0/0 0/0 🔒 ├── auditable-extract 0.3.2
0/0 0/0 0/0 0/0 0/0 🔒 │ └── binfarce 0.2.1
0/0 0/0 0/0 0/0 0/0 🔒 └── miniz_oxide 0.6.2
0/0 0/0 0/0 0/0 0/0 🔒 └── adler 1.0.2
0/0 0/0 0/0 0/0 0/0
依赖项
~335–540KB
~11K SLoC