工程开发
aflpp avatar

aflpp

AFL++ 模糊测试协作工具,支持 C/C++ 项目的多核心模糊测试,提供多样化的变异策略与成熟的调试工具,协助扩展漏洞挖掘。

简介

AFL++ 是一款专为 C/C++ 代码库设计的高性能工业级模糊测试工具(fuzzer),适用于安全研究人员与开发者。作为原版 AFL 的分叉版本,它引入了进阶功能、更优异的变异策略与卓越的稳定性,成为复杂且大规模模糊测试项目的首选。通过多核心并行执行,AFL++ 能最大化处理量与测试覆盖率,在生产级环境中表现往往优于 libFuzzer 等轻量级工具。

本技能提供了简化的界面,以便将 AFL++ 整合至开发工作流中。它能协助建立容器化环境、配置持久性模糊测试挂钩(fuzzing hooks),并管理系统级的性能优化,例如禁用内核安全防护以达到最高测试速度。用户可通过此工具在软件开发生命周期早期发现崩溃(crash)、内存损毁与未定义行为。

  • 支持多核心模糊测试调度,达成高延展性的测试吞吐量。

  • 支持多种编译模式,包含 LTO(链接时优化)、LLVM 模式与 GCC 插件。

  • 整合 AddressSanitizer (ASAN) 等错误检查工具,提升崩溃检测的准确度。

  • 提供标准 libFuzzer 风格之 C++ 接口 harness 模板生成功能。

  • 提供性能调校工具,包含禁用内核级缓解措施的系统配置脚本,以提升执行速度。

  • 支持基于 Docker 的部署工作流,确保主机与云端系统间的环境一致性。

  • 最适合 libFuzzer 覆盖率已达瓶颈,且需要更深度变异策略的成熟项目。

  • 非常适合需要自动化长时间执行模糊测试活动的开发人员与安全审计人员。

  • 输入数据包含 C/C++ 源代码、构建系统文件与初始种子(seed corpus)。

  • 输出内容包含崩溃报告、覆盖率指标与详细的漏洞审查记录。

  • 实际限制:需妥善设置 LLVM/Clang 工具链;因系统配置会针对性能调整,请勿在一般生产环境主机上运行。

仓库统计

Star 数
4,906
Fork 数
428
Open Issue 数
21
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 11:18
在 GitHub 查看