English | 中文
网络协议模糊测试有基于生成的和基于变异的两种类型。基于生成的网络协议模糊测试耗时且容易出错,因此现在更倾向于基于变异的网络协议模糊测试。而基于变异的网络协议模糊测试的一大挑战就是对于初始种子的依赖。因此本工具,是XPGFUZZ子工具的一个模块,旨在利用LLM增强初始种子。为大家提供一个丰富的初始种子预料库。同时,本文提出一个网络协议模糊测试的初始种子丰富的基准集,可以和profuzzbench配套组合使用。
ProSeedsBench/
├── data/ # 协议知识库数据
│ ├── codes/ # 协议代码文件
│ │ ├── DAAP/
│ │ ├── FTP/
│ │ ├── HTTP/
│ │ ├── RTSP/
│ │ ├── SIP/
│ │ ├── SMTP/
│ │ └── README.md
│ ├── cves/ # CVE漏洞信息
│ │ ├── FTP/
│ │ ├── HTTP/
│ │ ├── RTSP/
│ │ ├── SIP/
│ │ ├── SMTP/
│ │ ├── get_cves.py
│ │ └── README.MD
│ ├── deepwikis/ # 协议深度知识库
│ │ ├── DAAP/
│ │ ├── FTP/
│ │ ├── HTTP/
│ │ ├── RTSP/
│ │ ├── SIP/
│ │ ├── SMTP/
│ │ └── README.md
│ ├── rfcs/ # RFC文档
│ │ ├── FTP/
│ │ ├── HTTP/
│ │ ├── RTSP/
│ │ ├── SIP/
│ │ ├── SMTP/
│ │ └── README.md
│ └── README.md
├── docs/ # 项目文档
│ ├── Implementation_Roadmap.md
│ ├── LLM_Enrichment_Strategy.md
│ └── README.MD
├── papers/ # 相关论文
│ └── README.md
├── seeds/ # 协议种子文件
│ ├── DAAP/
│ ├── FTP/
│ ├── HTTP/
│ ├── RTSP/
│ ├── SIP/
│ ├── SMTP/
│ └── README.MD
├── protocols.xlsx # 协议信息表格
├── README.md # 项目说明文档(中文)
└── README_en.md # 项目说明文档(英文)
- 12/1,我想要构造一个协议知识库,并探索最大化利用它信息的方法。首先以profuzzbench中更多所有文本协议为试点。
- 12/7,获取bench文本协议的近年以来的所有的cve。不断完善协议的知识库ing。
- 12/7,提取聚合协议的的一些主要代码文件。
- 12/24,产生一个很大的想法:我觉得可以做一个基准工具,把目前的所有家的网络协议模糊测试的种子丰富策略全都实现在这一个框架中,参数可以调节。并提出一种评估各种种子的质量的指标。我觉得这样极致彻底,也很有趣。这是属于知识工程了。开始吧。
- 12/24,下午5点初头,构建协议的知识库v1.0,在data目录中
- 12/24,增加一些观察到的种子丰富的启发式的规则
- 12/24,让cursor复现chatafl。复现效果让我很不满意。
- 12/27,复现chatafl,使用配置文件比使用命令行更舒服。要更加科学严谨细致全面。
- 12/27,本地跑了个deepwiki mcp的python使用脚本。获取协议仓库的一些信息。同时明确了种子或者消息序列的结构。命令+参数。
- 12/27,更完善chatafl种子丰富的配置脚本,实现种子丰富的可插拔灵活配置。同时,精简baselines/chatafl的无关文件。
- 12/27, chatafl之前的种子丰富其实是在处理一个组合问题。
- 12/27,探索本地模型对种子丰富的影响作用,相关笔记记录在baselines/chatafl目录。中午,和永康交流,可以考虑智谱进行知识库的存储。
- 12/27,今天测试在温度值为2时,只生成lighttpd1的种子,效果难评价。循序渐进,日拱一卒。
- 12/27,晚上和gemini3 pro聊天,将github的本项目导入和它聊天,它建议我先用deepwiki的mcp提取协议实现命令对应的模块的关键逻辑,以此来丰富种子。我照做了。
- 12/28,使用deepwiki的提取的proftpd的知识,进行逐步的种子丰富
- 12/29,获取http的实验数据,尝试结合分析
To do...
- 复现chatafl的种子丰富方法
邮箱:pxxhl@qq.com