该框架利用各种大型语言模型(LLM)为真实世界的 C/C++/Java/Python 项目生成模糊测试目标,并通过 OSS-Fuzz 平台 对它们进行基准测试。
更多详情请参阅 AI 驱动的模糊测试:打破漏洞挖掘壁垒:

当前支持的模型有:
生成的模糊测试目标会根据生产环境中的最新数据,通过以下四个指标进行评估:
OSS-Fuzz 中现有手写模糊测试目标相比的运行时行覆盖率差异。以下是 2024 年 1 月 31 日的一项示例实验结果。 该实验包含了来自 297 个开源项目的 1300 多个基准测试。

总体而言,该框架成功利用 LLM 为 160 个 C/C++ 项目生成了有效的模糊测试目标(这些目标带来了非零的覆盖率提升)。与现有手写目标相比,最大行覆盖率提升了 29%。
请注意,这些报告不会公开,因为它们可能包含尚未公开的漏洞。
请查阅我们详细的使用指南,了解如何运行此框架并根据结果生成报告。
您还可以使用内置的代理执行框架来单独执行或评估各个代理,而无需运行完整实验。有关如何运行单个代理或代理序列的详细说明,请参阅框架文档。
对研究或开源社区合作感兴趣?请随时创建 issue 或发送电子邮件至:[email protected]。
到目前为止,我们已经报告了由该框架自动生成的目标所发现的 30 个新 bug/漏洞:
| 项目 | 漏洞 | LLM | 提示构建器 | 目标 oracle |
|---|---|---|---|---|
cJSON | 越界读取 | Vertex AI | Default | 远可达、低覆盖率 |
libplist | 越界读取 | Vertex AI | Default | 远可达、低覆盖率 |
hunspell | 越界读取 | Vertex AI | default | 远可达、低覆盖率 |
zstd | 越界写入 | Vertex AI | default | 远可达、低覆盖率 |
gdbm | 栈缓冲区下溢 | Vertex AI | default | 远可达、低覆盖率 |
hoextdown | 使用未初始化的内存 | Vertex AI | default | 远可达、低覆盖率 |
pjsip | 越界读取 | Vertex AI | Default | 低覆盖率,带 fuzz 关键字 + 简单参数远可达 |
pjsip | 越界读取 | Vertex AI | Default | 低覆盖率,带 fuzz 关键字 + 简单参数远可达 |
gpac | 越界读取 | Vertex AI | Default | 低覆盖率,带 fuzz 关键字 + 简单参数远可达 |
gpac | 越界读取/写入 | Vertex AI | Default | 全部 |
gpac | 越界读取 | Vertex AI | Default | 全部 |
gpac | 越界读取 | Vertex AI | Default | 全部 |
sqlite3 | 越界读取 | Vertex AI | Default | 全部 |
htslib | 越界读取 | Vertex AI | Default | 全部 |
libical | 越界读取 | Vertex AI | Default | 全部 |
croaring | 越界读取 | Vertex AI | Test-to-harness | 全部 |
openssl | CVE-2024-9143 - 越界读取/写入 | Vertex AI | Default | 全部 |
liblouis | 使用未初始化的内存 | Vertex AI | Test-to-harness | 测试标识符 |
libucl | 越界读取 | Vertex AI | Default | 低覆盖率,带 fuzz 关键字 + 简单参数远可达 |
openbabel | 释放后使用 | Vertex AI | Default | 低覆盖率,带 fuzz 关键字 + 简单参数远可达 |
libyang | 越界读取 | Vertex AI | Default | 全部 |
openbabel | 越界读取 | Vertex AI | Default | 全部 |
exiv2 | 越界读取 | Vertex AI | Default | 全部 |
| 未披露 | Java RCE(等待维护者分类) | Vertex AI | Default | 远可达、低覆盖率 |
| 未披露 | Regexp DoS(等待维护者分类) | Vertex AI | Default | 远可达、低覆盖率 |