67个版本

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.1.1 2016年2月1日

#52 in 测试

Download history 2713/week @ 2024-05-03 1999/week @ 2024-05-10 1766/week @ 2024-05-17 1582/week @ 2024-05-24 2135/week @ 2024-05-31 2318/week @ 2024-06-07 2984/week @ 2024-06-14 1916/week @ 2024-06-21 1391/week @ 2024-06-28 2318/week @ 2024-07-05 2074/week @ 2024-07-12 3392/week @ 2024-07-19 2666/week @ 2024-07-26 3443/week @ 2024-08-02 3182/week @ 2024-08-09 3553/week @ 2024-08-16

每月下载量13,588
用于 7 crate

Apache-2.0

1.5MB
104

afl.rs logo
afl.rs

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

这是什么?

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

文档

文档可以在 Rust Fuzz Book 中找到。

它看起来像什么?

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 即可。

依赖项