7884 是一款通用二进制结构归纳引擎。核心能力:给一堆相同格式的二进制文件, 无需格式规范、无需硬编码解析器,通过多样本对比与启发式算法自动推断出内部结构定义。
| 维度 | 传统大模型 / 统计拟合 | 7884 归纳推理 |
|---|---|---|
| 输出来源 | 从训练语料拟合概率分布 | 从样本中推导出可验证的结构假设并交叉验证 |
| 结构确定性 | 近似、可能幻觉 | 字段偏移/大小/类型可精确到字节,带置信度与反驳验证 |
| 未知格式 | 受限于训练分布 | 任意未知格式皆可(无先验) |
| 可解释性 | 黑盒 | 输出字段表 + 关系图 + 解析脚本,完全可读 |
我们现场编写了一个完全自定义、无任何公开规范的私有协议
XCHG:magic "XCHG"(4) + version(2) + length(2) + command(1) + payload(length) + checksum(4),
仅投喂 5 个样本,引擎自动归纳结果:
format_name : UNKNOWN(零先验,未依赖任何格式名) basic_info : 5 样本 / 36 字段 / 37 关系 MAGIC 字段 : Magic_0x58434847 @offset 0, size 4 ← 精确还原 "XCHG"(0x58 43 48 47) 校验和 : Sum32(求和校验)@ 尾部, 置信度 0.85 quality_overall : 0.9083 → CONVERGED(结构稳定可靠) coverage : 1.0(100% 覆盖) consistency/refutation/cross_validation : 0.824 / 0.929 / 0.826
Vibe Fuzzing 是 7884 提出的漏洞挖掘新范式:由 AI 理解协议 → 自动建模(7884-net XML)→ 引擎在线 Fuzz → 读取崩溃归因 → 收敛判据 → 下一步建议,形成 「崩溃 → 报告 → 建议 → 重跑」的自主闭环。
| 被测目标 | 传输 | 崩溃埋点 | 命中迭代 | 崩溃字段 | 证据 |
|---|---|---|---|---|---|
modbus_server.exe(官方靶子) | TCP 502 | function_code=0x5B 除零 | 143 | function_code | crash_143.bin (20B) + report.json monitor_crash=true |
xchg_server.py(现场手写私有协议) | TCP 9991 | command=0x5B 除零 | 845 | command(offset 8) | crash_845.bin + crash_845.json(mutation_offset=8) |
两次测试均 MONITOR: target process crashed,崩溃包自动落盘并生成结构化归因报告。 全过程无需源码、无需插桩、无需手写变异逻辑 —— 一条命令即可完成:
# 结构归纳(可选,得到模型)
7884_brain.exe -i 样本目录 -o 输出目录
# 一句话出漏洞:在线协议 Fuzz(必须 --engine pro)
7884_brain.exe --NetGen 协议.xml --engine pro --host 127.0.0.1 --port 502 -i 20000 \
--dump-dir out\_crash --json-out out\_crash\report.json
crash_N.bin + .json(含 iteration/state_path/sent_len/seed/engine)crashed (reproduced)下表对比当前主流模糊测试 / 协议逆向工具与 7884 V18 的能力边界:
| 维度 | AFL++ / libFuzzer | Peach / boofuzz | Netzob / 协议逆向 | LLM 生成式 Fuzzer | 7884 V18 |
|---|---|---|---|---|---|
| 输入门槛 | 需源码/插桩 + 手写 harness | 需手写 Pit XML 模型 | 需大量真实流量 | 依赖 prompt | 3~5 样本 或 一句话 |
| 结构理解 | 字节级,无格式语义 | 人工建模(已知协议) | 流量推断,噪声大 | 统计生成,可能幻觉 | 归纳推理,自动发现结构 + 关系 |
| 未知/私有格式 | 弱 | 无法(需先有模型) | 部分 | 弱 | 强(核心能力) |
| 纯黑盒(无源码) | 受限 | 支持 | 支持 | 支持 | 原生纯黑盒 |
| 协议状态机 | 需手写 | 手写 | 部分 | 弱 | 内置 + 自动 |
| 变异后格式有效性 | 易破坏结构 | 依赖模型 | — | — | CRC 修复 + zlib 重编码 + 结构保护 |
| 下游工具链 | 单一 | Peach 生态 | 单一 | 单一 | 21 种输出一键打通 |
| 模式 | 用途 | 命令 |
|---|---|---|
| Normal 深度归纳 | 分析未知格式,输出 21 种结果 + 模型 | -i 样本目录 -o 输出目录 |
| Fast 快速导出 | 复用模型,导出指定格式脚本 | --fast -m 模型 -s 样本 --script 类型 |
| Gen 样本生成 | 基于格式 XML 批量生成变异样本 | --Gen XML --engine pro -i N |
| NetGen 网络 Fuzz | 对真实网络服务在线模糊测试 | --NetGen XML --engine pro |
| 能力 | 说明 |
|---|---|
| 55 种变异策略 | Havoc + 确定性遍历 + 字段级 / 关系感知 / 边界 / 溢出 / 字典 / 特殊字符等 |
| CRC 自动修复 | 变异后自动修复校验和,生成合法可解析样本 |
| zlib 载荷重编码 | 解决「变异后不可解压」的根本限制 |
| ZIP/GZIP 加壳 | 自动处理容器格式的透明变异 |
| 结构保护标记 | 自动保护 Magic 签名与关键结构不被变异破坏 |
| 字段级定向变异 | --mutation-target 字段 限制变异到单个字段 |
run_netgen_*.bat 一键 Fuzz;
crash_report / crash_triage / ai_fuzz_loop / vibe_loop / ai_import_protocol 构成崩溃归因闭环。| overall 评分 | 状态 | 含义 |
|---|---|---|
| ≥ 0.90 | CONVERGED | 结构稳定可靠 |
| ≥ 0.70 | CONVERGING | 持续收敛中 |
| ≥ 0.40 | EXPLORING | 仍在搜索 |
| < 0.10 | DIVERGENT | 结构不稳定,需增加样本 |
发布包即开即用:单 exe 主引擎 + 使用文档 + 大量可直接跑通的例子与工具链。
7884 发布包/
├── 7884_brain.exe # 主引擎(单文件,内嵌全部知识库,免安装依赖)
├── 使用说明.TXT # 完整使用文档(交给编码工具时必读)
├── Run.py + index.html # Web 可视化平台(后端 + 前端)
├── examples/ # 例子(全部可直接运行)
│ ├── protocols/ # 23 个协议建模 XML(Modbus/DNP3/IEC104/S7comm/OPC UA…)
│ ├── servers/ # 9 个测试靶子 exe(HTTP/FTP/Modbus/DNS/TFTP/SNMP/Echo/Silent/HTTP-Crash)
│ ├── scripts/ # 14 个一键脚本(start_* 启动靶子 / run_netgen_* 一键 Fuzz)
│ ├── industrial/ # 17 个工控协议 × 4 种导出 + 50 个样本
│ ├── automotive/ # 4 个汽车协议 × 5 种产物 + 20 个样本
│ ├── cert/ # 9 个证书样本(JWT / PKCS / X.509)
│ ├── firmware/ # 11 个固件样本(FIT / U-Boot / UEFI)
│ ├── formats/ # 自定义格式样本 + 生成器
│ ├── serialization/ # 10 个 Protobuf schema
│ └── wireshark/ # 3 个 Wireshark 支撑数据
└── tools/
└── collect_protocols/ # 28 个 Python 工具(建库/导入/导出/崩溃归因/闭环编排)
把整个发布目录交给编码工具(Trae / CodeBuddy / 其他 AI 编码助手),
先让它阅读 使用说明.TXT 再执行任务 —— 之后你只需
一句话下达目标,即可自主完成从结构归纳到漏洞挖掘的全流程。以下提示词可直接复用:
# —— 一句话出漏洞(Vibe Fuzzing 精髓:只说目标,其余交给工具)—— 帮我挖 examples/servers/modbus_server.exe 的洞 对 examples/servers/http_server.exe 做在线 Fuzz,直到 MONITOR 报告崩溃 对 examples/servers/tftp_server.exe 跑一轮漏洞挖掘 我有个私有服务跑在 127.0.0.1:9991,帮我挖它的洞 我有一段私有协议样本在目录 X,先归纳结构,再对目标服务做 Fuzz # —— 一句话结构归纳 —— 分析 examples/formats/custom_format 这 5 个样本的二进制结构 归纳 examples/firmware/samples/uboot 的固件格式 # —— 一句话导出下游 —— 把 Modbus 模型导出成 Peach Pit、YARA、Wireshark C 三种脚本 把 examples/industrial 的 DNP3 协议导出成 YARA 规则 # —— 一句话崩溃归因 —— 对 out 下的崩溃样本去重、最小化,并生成归因报告
| 测试项 | 输入 | 结果 | 关键指标 |
|---|---|---|---|
| 结构归纳(自定义格式) | 5 个 custom_format 样本 | 通过 | 3.57s,识别 magic TST1 + Sum32,quality 0.86,覆盖率 100% |
| 结构归纳(私有协议 XCHG) | 5 个自造 XCHG 样本 | 通过 | 3.28s,识别 magic XCHG(0x58434847),quality 0.9083(CONVERGED) |
| 网络 Fuzz(Modbus 靶子) | modbus_net.xml | 命中崩溃 | 第 143 次迭代 MONITOR crashed(function_code=0x5B 除零) |
| 网络 Fuzz(私有协议 XCHG) | xchg_net.xml | 命中崩溃 | 第 845 次迭代 MONITOR crashed(command=0x5B 除零) |
① 本引擎/工具仅供授权安全测试、漏洞研究与教学用途,严禁用于任何未经授权的网络攻击或非法入侵。
② 严禁对未经书面授权的第三方网络、服务器、云主机或任何在线目标发起测试;
所有测试必须限定在自有靶机、本地回环(127.0.0.1)或已获书面授权的隔离环境中进行。
③ 使用者须遵守所在国家/地区的法律法规(包括但不限于《中华人民共和国网络安全法》《中华人民共和国刑法》等相关规定)。
④ 因滥用本工具对第三方目标造成的一切后果与法律责任,由使用者自行承担,与本项目及作者无关。
7884 数学工作室 · www.asm64.com · 文件结构归纳推理赛道 · 开创者 · 独行者 · vibe Fuzzing赛道开创者