#binary-parser #tree #command-line-tool #可审计 #漏洞 #二进制文件 #cargo

应用 rust-audit-info

使用 cargo auditable 从二进制文件中提取依赖树命令行工具

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编码

Download history 22/week @ 2024-04-25 228/week @ 2024-05-02 66/week @ 2024-05-09 18/week @ 2024-05-16 23/week @ 2024-05-23 41/week @ 2024-05-30 50/week @ 2024-06-06 26/week @ 2024-06-13 7/week @ 2024-06-20 11/week @ 2024-06-27 31/week @ 2024-07-04 2/week @ 2024-07-11 14/week @ 2024-07-18 75/week @ 2024-07-25 24/week @ 2024-08-01 9/week @ 2024-08-08

每月下载量 123 次

MIT/Apache

22KB
218

rust-audit-info

使用 cargo auditable 从二进制文件中提取依赖树的命令行工具。

它负责解析特定平台的格式(ELFPEMach-O)并输出解压缩的 JSON。

此工具故意保持最小化,并且不自行实现漏洞扫描。但是,它对于构建自己的漏洞扫描器非常有用。如果您在寻找一个 Rust 库而不是命令行工具,请参阅 auditable-info

功能

  • 解析来自任何受支持平台的二进制文件,而不仅仅是它运行的平台。
  • 编译成约 400Kb 的自包含可执行文件,没有任何外部依赖。
  • 从底层设计用于对恶意输入具有弹性的二进制解析。
  • 100% 内存安全的 Rust,包括所有依赖项。依赖树中没有任何内存不安全代码。
  • 跨平台,可移植,易于交叉编译。在具有 std 的任何 Rust 目标上运行。
  • 支持为输入和输出设置大小限制,以防止 OOMzip 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