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 884/week @ 2024-04-27 1416/week @ 2024-05-04 770/week @ 2024-05-11 396/week @ 2024-05-18 335/week @ 2024-05-25 987/week @ 2024-06-01 721/week @ 2024-06-08 1397/week @ 2024-06-15 360/week @ 2024-06-22 542/week @ 2024-06-29 1598/week @ 2024-07-06 637/week @ 2024-07-13 1188/week @ 2024-07-20 727/week @ 2024-07-27 1440/week @ 2024-08-03 370/week @ 2024-08-10

每月3,974次下载

Apache-2.0

5MB
122K SLoC

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

包含 (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