fuzzing-dictionary
通过提供领域特定令牌、魔术字节与协议关键字,引导模糊测试器深入挖掘代码路径,提升测试效率。
简介
fuzzing-dictionary 技能可协助安全工程师与开发人员,通过提供结构化的领域特定令牌(tokens)来优化模糊测试活动。盲目突变测试往往难以通过解析器、协议处理程序与复杂文件格式处理程序中的初始输入验证。本技能提供必要的配置与指引,用以注入具有意义的数据,让测试器能绕过浅层检查,并深入挖掘逻辑复杂且原本无法触及的代码路径。
-
支持针对解析器(JSON、XML、配置文件)、网络协议(HTTP、DNS、自定义堆栈)以及多媒体转码器或文件格式(PNG、PDF)的精确模糊测试。
-
支持业界标准模糊测试引擎,包含 libFuzzer、AFL++ 与 cargo-fuzz,确保在安全测试流程中具有高度兼容性。
-
促进从多种来源提取字典内容,包含二进制字符串、头文件、在线说明文档(man pages)以及针对特定目标协议产生的 AI 建议内容。
-
支持高级语法,例如用于非可打印字符的十六进制转义序列(如 \xF7\xF8)以及结构化的键值对注入,以模拟合法的数据格式。
-
非常适合测试覆盖率在初期停滞,或目标代码会检查特定关键字或魔术字节(magic values)的情境。
-
使用方式涉及建立一个聚焦的字典档(建议 50 至 200 个条目),并通过 -dict 或 -x 等标准旗标传递给模糊测试器。
-
用户应专注于原子化、相关性高的令牌,而非大段文字内容,以最大化突变效率。
-
本技能提供工作流程,可使用 grep 从项目专属头文件提取内容,或通过字符串分析从编译后的二进制文件生成字典。
-
最佳实践包含使用 sort 工具进行去重、维护字典注释以维持可读性,并通过比较启用与停用令牌时的覆盖率指标来测试字典的有效性。请避免常见错误,例如包含过大的字典导致稀释模糊测试器的突变预算,或忽略处理二进制安全的十六进制转义序列。
仓库统计
- Star 数
- 4,874
- Fork 数
- 424
- Open Issue 数
- 21
- 主要语言
- Python
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年4月29日 07:37