中科固源基于覆盖引导的 Fuzzing 神器登场,开源模糊测试迎来新技术迭代

阅读量86071

发布时间 : 2025-03-21 17:01:25

基于覆盖引导的Fuzzing工具及其衍生工具

名称 项目地址 简介
AFL https://github.com/google/AFL AFL一款基于覆盖引导(Coverage-guided)的模糊测试工具,它通过记录输入样本的代码覆盖率,调整输入样本以提高覆盖率,从而增加发现漏洞的概率。
AFL++ https://github.com/AFLplusplus/AFLplusplus AFL无人维护之后由社区维护的一个版本
honggfuzz https://github.com/google/honggfuzz Honggfuzz 在闭源二进制测试和硬件级反馈支持上更具优势尤其适合需要深度监控闭源程序或内核组件的场景。开发者可通过定制化配置(如覆盖率统计粒度、变异策略)适配不同测试需求,提升软件安全性‌。而 AFL++ 更擅长基于源码插桩的灰盒测试‌‌
libFuzzer https://llvm.org/docs/LibFuzzer.html libFuzzer单进程执行减少上下文切换开销,适合高频次调用的轻量级函数测试‌,但是缺乏 AFL 的分布式调度和外部变异策略灵活性‌。与honggfuzz比较libFuzzer 更深度集成 LLVM 生态,适合开发阶段内嵌测试‌。
winafl https://github.com/googleprojectzero/winafl winafl是将AFL移植到Windows上对闭源软件进行覆盖率引导的fuzz,通过DynamoRIO实现动态插桩,后来也支持通过TinyInst实现动态插桩‌
Jackalope https://github.com/googleprojectzero/Jackalope 通过TinyInst实现动态插桩
pe-afl GitHub – wmliang/pe-afl 对32位pe文件进行二进制静态插桩
peafl64 GitHub – Sentinel-One/peafl64: Static Binary Instrumentation tool for Windows x64 executables 对64位pe文件进行二进制静态插桩
e9patch GitHub – GJDuck/e9patch: A powerful static binary rewriting tool 对64位ELF二进制文件进行二进制静态插桩
zafl Open Source Software / zafl · GitLab 对64位ELF二进制文件进行二进制静态插桩
WAFL GitHub – HexHive/retrowrite: RetroWrite — Retrofitting compiler passes through binary rewriting 将AFL用于fuzz WebAssembly
AFL的衍生工具:GitHub – Microsvuln/Awesome-AFL: A curated list of different AFL forks and AFL inspired fuzzers with detailed equivalent academic papers and AFL-fuzzing tutorials

生成式模糊测试工具

名称 项目地址 简介
Sulley https://github.com/OpenRCE/sulley 专注于 ‌网络协议内存漏洞‌(如缓冲区溢出)的 Python 框架,支持 HTTP、FTP、SMTP 等协议的变异测试,内置多种攻击引擎与回溯机制。‌‌
boofuzz GitHub – jtpereyda/boofuzz: A fork and successor of the Sulley Fuzzing Framework 模块化协议定义能力,支持多步骤交互测试(如身份验证流程),允许用户定义协议或文件格式的结构模型,Boofuzz 自动生成变异后的测试用例,覆盖边界值、异常输入等潜在漏洞触发点,适配工控设备及 IoT 协议。‌
peach https://github.com/MozillaSecurity/peach peach通过 XML 配置文件(称为 ‌Pit 文件‌)定义数据模型(Data Model)和状态模型(State Model),智能生成变异测试用例‌‌
mutiny-fuzzer GitHub – Cisco-Talos/mutiny-fuzzer 通过从数据包(如pcap文件)中解析协议请求并生成一个.fuzzer文件,然后基于该文件对请求进行变异,再发送给待测试的目标
domato GitHub – googleprojectzero/domato: DOM fuzzer 开源 DOM 模糊测试工具,专注于通过生成异常 HTML、CSS 和 JavaScript 样本,检测浏览器 DOM 引擎及前端代码中的安全漏洞
restler-fuzzer GitHub – microsoft/restler-fuzzer: RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services. Stateful REST API Fuzzing工具
h26forge https://github.com/h26forge/h26forge 专为分析、生成和操作语法正确但语义不符合规范的 H.264 视频文件而设计

源代码模糊测试工具

 

名称 项目地址 简介
go-fuzz GitHub – dvyukov/go-fuzz: Randomized testing for Go 对go进行源代码Fuzzing
jazzer GitHub – CodeIntelligenceTesting/jazzer: Coverage-guided, in-process fuzzing for the JVM 对java进行源代码fuzzing
jazzer.js GitHub – CodeIntelligenceTesting/jazzer.js: Coverage-guided, in-process fuzzing for Node.js 对js进行源代码fuzzing
Frelatage https://github.com/Rog3rSm1th/Frelatage 对Python进行源代码fuzzing
fuzzilli GitHub – googleprojectzero/fuzzilli: A JavaScript Engine Fuzzer 对js进行源代码fuzzing

其他模糊测试工具

 

名称 项目地址 简介
syzkaller GitHub – google/syzkaller: syzkaller is an unsupervised coverage-guided kernel fuzzer linux内核fuzzing工具
wtf GitHub – 0vercl0k/wtf: wtf is a distributed, code-coverage guided, customizable, cross-platform snapshot-based fuzzer designed for attacking user and / or kernel-mode targets running on Microsoft Windows and Linux user-mode (experimental!). 基于内存快照的fuzzing工具
cryptofuzz https://github.com/MozillaSecurity/cryptofuzz 针对密码学库的fuzzing工具
KernelFuzzer https://github.com/FSecureLABS/KernelFuzzer Windows内核Fuzzing工具
fuzzusb GitHub – purseclab/fuzzusb Linux系统USB Fuzzing工具
fuzzware GitHub – fuzzware-fuzzer/fuzzware: Fuzzware’s main repository. Start here to install. 一个专为固件镜像提供‌自动化‌、‌自配置‌模糊测试的开源项目‌
SAFIREFUZZ GitHub – pr0me/SAFIREFUZZ: Same-Architecture Firmware Rehosting and Fuzzing 嵌入式固件作为Linux用户空间进程运行从而进行模糊测试
Owfuzz GitHub – alipay/Owfuzz: Owfuzz: a WiFi protocol fuzzing tool Wi-Fi协议模糊测试
zzuf GitHub – samhocevar/zzuf: 🌪️ Application fuzzer 透明的应用程序输入模糊测试工具,通过拦截文件操作并随机改变程序输入中的位来工作
radamsa Aki Helin / radamsa · GitLab 用于健壮性测试的模糊测试工具radamsa已经在实际重要的程序中发现了大量漏洞,它易于编写脚本,并且易于启动和运行‌。
certfuzz GitHub – CERTCC/certfuzz: This project contains the source code for the CERT Basic Fuzzing Framework (BFF) and the CERT Failure Observation Engine (FOE). CERT基础模糊测试框架

 

了解更多安全解决方案,请访问中科固源官网:http://www.gysecurity.cn/

本文由中科固源原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/305294

安全KER - 有思想的安全新媒体

分享到:微信
+10赞
收藏
中科固源
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66