fuzzing-dictionary
通过提供领域特定的标记、魔术字节和协议关键字,增强模糊测试器的效果,以深入解析器和格式处理器的代码覆盖率。
简介
fuzzing-dictionary 技能可协助安全工程师与开发者优化覆盖率引导式的模糊测试活动。除了单纯依赖随机突变(这通常无法通过解析器或协议状态机的初始验证检查)之外,此技能协助配置与注入有意义的资料,例如魔术数字、协议指令、关键字以及特定格式的标头,进而将模糊测试器推向更深入且复杂的代码路径。
它专为采用严格输入格式的目标系统而设计,例如 JSON/XML 解析器、网络协议实现(如 HTTP、DNS)以及媒体文件编解码器。通过提供经过筛选的字典,您可以大幅提高生成的输入通过完整性检查的机率,并触及隐藏在深层执行分支中的脆弱逻辑。
-
支持针对解析器、网络协议及复杂文件格式(PNG, PDF 等)进行精确的模糊测试。
-
支持业界标准的模糊测试工具,包含 libFuzzer、AFL++ 以及 cargo-fuzz。
-
提供从标头文件、二进制字符串、说明页面或通过 LLM 辅助生成字典内容的方法。
-
包含字典维护的进阶技巧,例如去重、针对二进制资料使用十六进制转义序列,以及最佳化字典大小(50-200 个条目)。
-
演示如何利用 AFL++ 的 AUTODICTIONARY 功能,从二进制比较点自动提取字符串。
-
当覆盖率早期陷入停滞,或目标代码针对关键字或魔术常数执行明确的字符串比对时,请使用此技能。
-
若为纯算法测试且格式结构并非主要限制时,则无需使用。
-
输入应为格式正确的文字文件,包含引号字符串,并支持注释以及用于二进制控制的十六进制转义序列。
-
此技能提供常见模糊测试工作流程的实作 CLI 指令,确保能无缝整合至现有的 CI/CD 或研究流水线中。
-
使用者应监控字典大小,因为过大的字典可能会拖慢模糊测试速度,并稀释高价值标记的影响力。
仓库统计
- Star 数
- 4,857
- Fork 数
- 421
- Open Issue 数
- 29
- 主要语言
- Python
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年4月28日 13:20