1988 — 2026 · 四十年演进终章

模糊测试史记
从随机乱敲到 Vibe Fuzzing

从一行随机字符,到一句话启动全域自动化挖洞。一部关于「人类如何卸下读懂格式的重担」的技术革命史。

38
年演进历程
5
大技术时代
1
句话启动全域挖洞
0
人工逆向建模
Prologue · 序

漏洞挖掘的底层革命

1988 年,一段随机字符砸开软件安全测试的全新赛道;三十八年迭代,模糊测试从专家专属、流程繁琐的逆向工程,走到一句话即可启动全域自动化挖洞的 Vibe Fuzzing 时代。

贯穿全程的核心矛盾:人与格式结构的对抗。每一代技术革新,本质都是在消解「人类必须先读懂协议 / 文件格式才能 Fuzz」的门槛。
Timeline · 编年史

五大技术时代演进

从盲人摸象的随机乱敲,到引擎自主思考的全域挖洞,五个时代层层递进,每一次跃迁都在消解人类的格式理解门槛。

1988—2001
第一卷

随机混沌时代

盲人摸象的原始 Fuzz
  • Miller 教授团队发布世界首款工具 fuzzptyjig,Fuzzing 概念诞生
  • 零结构理解:随机字节在头部校验、长度字段、校验和阶段即被拦截
  • 纯黑盒无反馈:无法区分有效 / 无效用例,算力大量浪费
  • 仅能检出简单缓冲区溢出,私有协议、加密文件完全无力

时代结论:仅实验室玩具,行业呼吁必须引入「结构化输入」处理能力。

2001—2013
第二卷

人工建模黑盒时代

人替引擎读懂世界
  • 2001 年 Protos 首次将 Fuzz 应用于网络协议;2004 年 Peach 成为文件格式标杆
  • 工作模式:人逆向 → 手写语法模型 → 引擎按模板变异(二十步专家流水线)
  • 可穿透格式校验,结构化输入定向变异,检出率大幅提升
  • 但门槛绑定人类逆向能力,模型维护成本爆炸,黑盒无执行反馈

代表工具:Peach、Sulley、Defensics、Protos

2013—2022
第三卷

覆盖引导灰盒时代

代码反馈,仍困于格式
  • lcamtuf 发布 AFL,引入编译插桩 + 边缘代码覆盖率反馈,灰盒统治全球
  • libFuzzer、Honggfuzz、AFL++、AFLNET 一脉相承,OSS-Fuzz 搭建全球开源基建
  • 代码路径探索能力拉满,但「输入结构理解完全缺位」
  • 必须源码、必须插桩,闭源二进制、工控黑盒设备完全无法使用

核心矛盾:黑盒兼容 vs 结构化精准变异,二元对立延续至 2022。

2022—2025
第四卷

LLM + 零先验双轮过渡时代

两条路线同时触顶
路线一 · 并存
LLM 辅助 Fuzz

LLAMAFUZZ、GPT-Fuzz 等,LLM 做大脑、传统引擎做手。手脑倒置、统计拟合误差高、无闭环,天花板明显。

路线二 · 并存
IFFA 零先验萌芽

仅需 ≥3 份样本自动提取结构约束,但只输出 Peach XML、无闭环、无 AI 协同,停留在单点工具层。

  • 两条路线共同验证「样本归纳替代人工建模」的可行性
  • 均触架构天花板,共同指向:模糊测试需要彻底的底层重构

过渡价值:IFFA 三年实践,为 7884 引擎奠定底层归纳算法根基。

2026—至今
终章

Vibe Fuzzing 终局时代

7884 定义的模糊测试终极形态
  • 早期 · 7884 全域引擎跃迁:三层破界,一举解决 Peach 核心痛点,原生 Fuzz 闭环
  • 定型期 · 范式定型:Vibe Fuzzing = LLM(手)× 7884 结构归纳引擎(脑)
  • 核心能力:32 阶段结构归纳推理引擎,可分析任意未知文件格式 / 协议,不依赖任何内置库
  • 已内置 5000+ 协议、20000+ 文件格式、12.8 万端口、55 种字段级语义变异;即便脱离这些内置库,引擎仍能对任意格式归纳建模
  • 纯黑盒原生支持,无需源码、无需插桩、无需覆盖率反馈

终局意义:手脑解耦,一句话启动全域自动化挖洞,模糊测试平民化。

Data · 数据可视化

用数据看懂四十年演进

以下图表从人力投入、技术能力、门槛变化三个维度,量化呈现五时代的此消彼长。

前置人力投入对比

越高代表越依赖人工(逆向、写脚本、改 harness)

技术能力多维雷达

五时代在六大能力维度上的得分(0—100)

「读懂格式」门槛变化趋势

人类理解输入结构的负担随时代逐级下降,Vibe Fuzzing 归零
Compare · 横向对比

Vibe Fuzzing 彻底抹平历代技术短板

六维对比,金色高亮列即终局方案,一代技术同时解决过去 40 年所有遗留矛盾。

维度 传统手工语法 Fuzz
(Peach)
覆盖引导灰盒
(AFL)
LLM 辅助 Fuzz Vibe Fuzzing (7884)
格式建模方式 人工逆向手写脚本 无自主建模,依赖插桩 LLM 统计拟合(误差高) 引擎 32 阶段归纳推理,零人工
源码 / 插桩依赖 无要求(黑盒) 强制源码 + 编译插桩 依赖底层引擎限制 完全无依赖,纯黑盒原生支持
私有 / 无文档格式适配 门槛极高,需专家逆向 基本失效 适配效果差 核心强项,样本即可自动解析
前置人力投入 极高(逆向 + 写脚本) 中(写 harness、编译改造) 中等(修正 LLM 错误脚本) 极低,仅一句话指令
变异逻辑 人工配置变异策略 随机位翻转,易破坏结构 混合随机 + LLM 粗粒度生成 字段级语义结构化变异
落地场景 专项渗透项目 开源库持续集成 轻度辅助测试 全场景日常自动化,可进 CI 门禁
Workflow · 一句话挖洞

Vibe Fuzzing 四阶工作流

无需记忆参数、编写脚本、阅读规范,一句话走完传统二十步专家流水线。

1
用户 · 下达指令

「模糊测试这个工控 502 端口」「深挖该私有镜像文件解析漏洞」

2
LLM(手)· 意图转译

读取样本、解析需求,翻译为 7884 引擎可识别的标准化工程指令,不参与格式推理

3
7884(脑)· 全域执行

三级识别 → 32 阶段归纳 → 语义变异 → 发包检测,全链路自主闭环

4
LLM(手)· 报告输出

结构化漏洞报告,标注字段、复现步骤、风险等级,直连 CI 门禁

Breakthrough · 引擎跃迁

7884 三层破界:一举解决 Peach 核心痛点

承接 IFFA 技术积累,7884 彻底脱离「配套工具」定位,升级为模糊测试上游母机。

破界 01
自研 Gen 模式,原生闭环

废弃 Peach XML 依赖,内置 7884-gen 执行模块:15~46 种字段级语义变异、多层 Havoc 叠加、TCP/UDP 原生发包、实时崩溃捕获,从「只生成脚本」变成「解析 + 变异 + 发包 + 检测」全链路自闭环。

破界 02
系统级结构归纳

抛弃 IFFA 静态规则,打造 32 阶段分层归纳推理引擎,融合机器学习交叉校验,已内置 5000+ 协议、20000+ 文件格式、12.8 万端口;更关键的是——即便脱离内置识别库,引擎也能对任意未知文件格式 / 协议进行结构归纳建模,无人工干预推导复杂嵌套、动态校验、协议状态机。

破界 03
控制台标准化,定位 LLM 大脑

全面转向纯控制台无 GUI,提供标准化程序调用接口,打通大模型协同通道:LLM 为手(转译意图、汇总报告),7884 为脑(归纳、建模、变异、挖掘)。

Evidence · 实证落地

范式可行性已验证

从文件格式到网络协议,从漏洞产出到工程落地,三大场景实证 Vibe Fuzzing 的工业价值。

77.5%
文件格式场景

对图片、容器、私有文档批量测试,77.5% 模块检出高危漏洞,无需格式规范

7
网络协议场景

DeepSeek V4 配合 7884 测试单一私有协议模块,单轮自动挖出 7 个 0day 漏洞

CI 门禁
工程落地价值

单 exe 零依赖私有化部署,嵌入软件发布 CI 流程,上线前自动拦截解析类内存漏洞