oss-fuzz-gen

用大模型自动写模糊测试,一键发现代码漏洞

oss-fuzz-gen 是一个利用大语言模型(LLM)自动生成模糊测试用例的开源工具,基于 OSS-Fuzz 生态构建。它解决的是安全测试中模糊测试用例编写门槛高、覆盖率不足的问题。核心能力包括:通过 LLM 分析项目源码和 API 文档,自动生成针对 C/C++、Python、Java 等语言的 fuzz target;支持与 OSS-Fuzz 集成,可批量生成测试用例并提交到 OSS-Fuzz 平台运行;提供多种 LLM 后端(如 OpenAI、Vertex AI)和提示策略,能根据崩溃结果迭代优化测试用例。项目由 Google 维护,旨在将 LLM 的代码理解能力与模糊测试的自动化优势结合,提升开源软件的安全性和健壮性。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1437
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队google
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0 许可证,可免费使用和部署。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型ai,fuzzing,llm,security
GitHub 星标★ 1437
30天Star增速
HF 下载量
上线时间2024-01-25 00:00:00
最近更新2026-09-20 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:进阶 约 20 分钟 部署方式:命令行工具 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 运行环境(本项目开发语言为 Python)
  • 可用的 LLM 后端凭据:OpenAI / Azure OpenAI / Vertex AI(Gemini)其中之一
  • 可访问 OSS-Fuzz 平台以进行基准评测
  • 网络可访问 GitHub 与所选 LLM 服务

安装与启动步骤

  1. 1克隆项目仓库

    从 GitHub 拉取 oss-fuzz-gen 源码到本地,并进入项目目录。README 未给出依赖安装命令,请以仓库内说明为准。

    git clone https://github.com/google/oss-fuzz-gen.git
    cd oss-fuzz-gen
  2. 2阅读官方使用指南

    README 明确要求参照 USAGE.md 了解如何运行框架并生成结果报告,先阅读该文档再动手配置。

    cat USAGE.md
  3. 3确定并配置 LLM 后端

    从 README 支持的模型中选定一个(如 Gemini Pro、OpenAI GPT-4o 或 Azure 版 GPT-4),并按其所属平台准备凭据。

  4. 4准备 OSS-Fuzz 评测环境

    生成出的 fuzz target 需借助 OSS-Fuzz 平台做基准评测,请按 OSS-Fuzz 仓库说明搭建可用的评测环境。

    git clone https://github.com/google/oss-fuzz.git
  5. 5运行框架并生成报告

    按 USAGE.md 中的方式启动框架,对目标项目生成 fuzz target 并输出评测报告。具体命令以该文档为准。

如何确认成功

按 USAGE.md 运行后生成结果报告,报告中应能看到可编译性、运行时崩溃、运行时覆盖率及与人工 fuzz target 的覆盖率差异四项指标数据。

常见问题

Q:这个工具支持哪些大模型?

A:README 列出 Vertex AI code-bison、code-bison-32k、Gemini Pro/Ultra/Experimental/1.5,以及 OpenAI GPT-3.5-turbo、GPT-4、GPT-4o、GPT-4o-mini、GPT-4-turbo(含 Azure 版本)。

Q:具体怎么运行、怎么出报告?

A:README 的 Usage 部分指向仓库内的 USAGE.md,其中包含运行本框架并基于结果生成报告的详细说明,请以该文档为准。

Q:生成的 fuzz target 如何评测?

A:使用四项指标对照生产环境最新数据进行评测:可编译性、运行时崩溃、运行时覆盖率,以及与 OSS-Fuzz 中人工编写 fuzz target 的运行时行覆盖率差异。

Q:评测报告是公开的吗?

A:不是。README 说明这些报告未公开,因为其中可能包含尚未披露的安全漏洞。

Q:生成的测试用例效果如何?

A:README 给出 2024 年 1 月 31 日的样例结果:覆盖 297 个开源项目的 1300+ 基准,为 160 个 C/C++ 项目生成有效 fuzz target,行覆盖率最高提升 29%。

注意事项

  • README 未提供具体安装命令,运行方式需查阅仓库中的 USAGE.md
  • 需要先准备好所选 LLM 平台的账号与凭据,框架本身不提供模型服务
  • 评测依赖 OSS-Fuzz 平台,需具备相应的项目与构建环境
  • 部分模型(如 Vertex AI、Azure OpenAI)受平台和区域限制,选择时注意可用性

核心亮点

  • 自动生成 fuzz target,省去手写测试代码的繁琐
  • 集成 OSS-Fuzz 平台,可直接运行和跟踪崩溃结果
  • 支持多种 LLM 后端,可灵活切换模型和提示策略

不足之处

  • 生成的测试用例质量依赖 LLM 能力,可能产生无效用例
  • 文档/社区待观察

适用场景

  • 开源项目维护者快速补充模糊测试覆盖
  • 安全团队批量审计多个项目的漏洞
  • 研究 LLM 在代码生成与安全测试中的应用

替代项目

FuzzBench、ClusterFuzz、PolyFuzz

项目介绍

oss-fuzz-gen 是评测安全领域的开源项目,由 google 开发,2024 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,437)位列前 30%,在评测安全分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-20。Apache-2.0 许可证,可免费使用和部署。

它主要面向的使用场景是:开源项目维护者快速补充模糊测试覆盖。同类可对比的替代方案包括 FuzzBench、ClusterFuzz、PolyFuzz。

同类项目推荐

akto 开源

给 AI 应用做安全体检,防提示注入和数据泄露

Akto is the fastest growing AI Security platform for your teams to secure AI agents,···

★ 1517 2026-08-20
XSafeClaw 开源

给 AI 智能体装上安全盾,自动红队测试找漏洞

Introducing XSafeClaw: The Open-Source Agent Safety Platform from Fudan University

★ 164 2026-08-10
deepteam 开源

自动模拟越狱攻击,提前测出 LLM 安全漏洞

DeepTeam is a framework to red team LLMs and AI agents.

★ 2937 2026-09-12