21次发布

0.15.10 2024年7月19日
0.15.8 2024年6月11日
0.15.4 2024年3月11日
0.15.1 2023年12月16日
0.0.0 2023年3月27日

#197 in 测试

Download history • Rust 包仓库 884/week @ 2024-04-27 • Rust 包仓库 1416/week @ 2024-05-04 • Rust 包仓库 770/week @ 2024-05-11 • Rust 包仓库 396/week @ 2024-05-18 • Rust 包仓库 335/week @ 2024-05-25 • Rust 包仓库 987/week @ 2024-06-01 • Rust 包仓库 721/week @ 2024-06-08 • Rust 包仓库 1397/week @ 2024-06-15 • Rust 包仓库 360/week @ 2024-06-22 • Rust 包仓库 542/week @ 2024-06-29 • Rust 包仓库 1598/week @ 2024-07-06 • Rust 包仓库 637/week @ 2024-07-13 • Rust 包仓库 1188/week @ 2024-07-20 • Rust 包仓库 727/week @ 2024-07-27 • Rust 包仓库 1440/week @ 2024-08-03 • Rust 包仓库 370/week @ 2024-08-10 • Rust 包仓库

每月3,974次下载

Apache-2.0

5MB
122K SLoC

C 97K SLoC // 0.1% comments • Rust 包仓库 C++ 15K SLoC // 0.1% comments • Rust 包仓库 Python 4K SLoC // 0.2% comments • Rust 包仓库 Shell 3K SLoC // 0.1% comments • Rust 包仓库 Rust 737 SLoC // 0.1% comments • Rust 包仓库 JavaScript 552 SLoC // 0.2% comments • Rust 包仓库 BASH 363 SLoC // 0.2% comments • Rust 包仓库 TypeScript 328 SLoC // 0.4% comments • Rust 包仓库 Jupyter Notebooks 99 SLoC // 0.4% comments • Rust 包仓库 CodeQL 45 SLoC // 0.1% comments • Rust 包仓库 Java 43 SLoC // 0.4% comments • Rust 包仓库 Bitbake 33 SLoC • Rust 包仓库 SQL 3 SLoC • Rust 包仓库

包含 (ELF exe/lib, 21KB) persistent_target,(ELF exe/lib, 17KB) persistent_target_x86_64,(ELF exe/lib, 18KB) simple_target_x86_64,(ELF exe/lib, 17KB) persistent_target_x86_64,(ELF exe/lib, 18KB) simple_target_x86_64,(静态库, 1KB) small_archive.a 以及更多

afl.rs logo
afl.rs

使用AFLplusplus进行Rust代码模糊测试

这是什么?

模糊测试 是一种软件测试技术,通过向软件提供伪随机数据作为输入来发现安全和稳定性问题。 AFLplusplus 是基于 AFL 的流行、有效且现代的模糊测试工具。这个库 afl.rs 允许用户在 Rust编程语言 编写的代码上运行AFLplusplus。

文档

文档可以在 Rust Fuzz 书籍 中找到。

看起来像什么?

Screen recording of afl

AFL在Rust代码上运行的屏幕录制。

提示

在开始模糊测试之前,您应该为系统进行重新配置以优化性能和更好的崩溃检测。这可以通过使用 cargo-afl afl system-config 完成。但这个子命令需要root权限,因此它内部使用sudo。因此,您可能需要输入您的密码。

默认情况下,AFL++的CMPLOG功能已被激活,这有助于实现良好的代码覆盖率。然而,在两个以上实例上激活CMPLOG并不利。因此,如果您在模糊测试目标上运行多个AFL++实例,可以通过指定命令行参数'-c -'来禁用CMPLOG。

文档将使您熟悉AFL++功能,以帮助您成功运行模糊测试活动。

默认情况下,当使用cargo-afl进行构建时,会设置fuzzing配置。如果您想防止这种情况,只需在构建时将环境变量AFL_NO_CFG_FUZZING设置为1即可。

依赖项

~5–15MB
~218K SLoC