#afl #fuzz-testing #run #source #issue

已撤回 afl-sys

围绕AFL源代码的包装器

使用旧Rust 2015

0.1.5 2016年10月23日
0.1.4 2016年9月20日
0.1.3 2016年5月29日
0.1.2 2016年5月28日

#7 in #afl

21 每月下载量

Apache-2.0

1.5MB
7.5K SLoC

C 7K SLoC // 0.2% comments Shell 250 SLoC // 0.3% comments C++ 87 SLoC // 0.3% comments Rust 83 SLoC // 0.1% comments SQL 40 SLoC JavaScript 1 SLoC

包含(ELF可执行文件/库,3KB)file-fpu-exception.elf,(ELF可执行文件/库,1KB)strings-bfd-badptr.elf,(ELF可执行文件/库,1KB)strings-bfd-badptr2.elf,(静态库,1KB)small_archive.a,(ELF可执行文件/库,1KB)small_exec.elf

afl.rs logo
afl.rs

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

这是什么?

模糊测试是一种软件测试技术,通过向软件提供伪随机数据作为输入来查找安全性和稳定性问题。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 即可。

依赖项