oss-fuzz-gen

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 225 🐛 待处理 165 👀 关注 15
GitHub ↗
GitHub 星标 ★ 1452
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,可免费使用和部署。

项目预览

oss-fuzz-gen 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队google
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0 许可证,可免费使用和部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型ai,fuzzing,llm,security
GitHub 星标★ 1452
上线时间2024-01-25 00:00:00
代码更新2026-10-26
仓库体积56.9 MB
本站数据更新2026-11-08
维护状态较活跃
收录时间2026-08-09
浏览次数3

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1452

技术标签

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:进阶 约 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

同类项目推荐

PostTrainBench 开源

一张H100,十小时,测出AI代理调教大模型的本事

Measuring how well CLI agents like Claude Code or Codex CLI can post-train base LLMs···

★ 618 2026-08-10
LooGLE 开源

测长文本模型真实力,看它能否抓住长文关键

ACL 2024 | LooGLE: Long Context Evaluation for Long-Context Language Models

★ 203 2026-08-09
tifa 开源

用问答方式自动检查AI画图是否忠实于文字描述

TIFA: Accurate and Interpretable Text-to-Image Faithfulness Evaluation with Question···

★ 191 2026-08-09
AdvUnlearn 开源

对抗训练让概念擦除更抗攻击,生成更安全

Official implementation of NeurIPS'24 paper "Defensive Unlearning with Adversarial T···

★ 56 2026-08-09
robustness-foundation-models 开源

动手复现大模型鲁棒性实验,看清AI脆弱点

This repository holds code and other relevant files for the NeurIPS 2022 tutorial: F···

★ 72 2026-08-09
Frontier-CS 开源

用开放式 CS 难题测出大模型的真实上限

A benchmark for evaluating LLMs on open-ended CS problems. Exploring the Next Fronti···

★ 347 2026-10-23