Agent Skills
返回列表
💻

OSS-Fuzz混合器生成器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/generate-oss-fuzz-harnesses-with-oss-fuzz-gen。

技能介绍

模糊测试中的重复劳动问题

在为开源项目引入模糊测试(Fuzzing)时,开发者常面临一个现实问题:为每个目标函数或代码路径编写 OSS-Fuzz 混合器(harness)需要大量手工工作。即使项目本身支持 C/C++、Java、Python 或 Go,生成有效的 fuzz target 仍然需要理解项目结构、编写编译脚本并反复调试。这种重复劳动往往拖慢了安全测试的推进,导致许多项目在接入 OSS-Fuzz 时门槛过高。

自动化生成混合器的核心能力

oss-fuzz-gen 技能旨在解决这一问题。它基于 Google 的 oss-fuzz-gen 框架,通过分析目标项目的源代码,自动生成符合 OSS-Fuzz 规范的模糊测试混合器。其核心能力包括:

  • 多语言支持:覆盖 C/C++、Java、Python、Go 等常见开源项目语言,生成对应的 fuzz target。
  • LLM 辅助生成:在人工编写 fuzzing 逻辑之前,利用大模型辅助扩展模糊测试覆盖范围,减少初期探索成本。
  • 工作流集成:与 Google OSS-Fuzz 紧密集成,生成的混合器可直接对接现有 CI/fuzzing 流水线,无需额外改造。
  • 独立评估:支持通过集成的 agent 执行框架单独运行或评估 agent,而不必启动完整实验。

适用边界与前置条件

使用该技能前,需确保环境中已具备 oss-fuzz-gen、编译器工具链以及模糊测试运行时。生成的混合器通常能直接用于真实项目,但面对复杂业务逻辑或自定义内存管理时,仍可能需要人工调整生成的代码。此外,该框架主要面向开源项目,对于闭源或高度定制化的内部代码,其自动生成效果可能受限。建议在接入前先在小规模模块上验证生成质量,再逐步推广到完整项目。

使用场景

  • 为一个 C/C++ 开源项目接入 OSS-Fuzz 时,需要快速生成一批可编译的 fuzz target
  • 已有 Go 或 Python 项目想引入模糊测试,但不想逐个手写 harness 代码
  • 想用 LLM 辅助扩展现有 fuzz 覆盖范围,再进入人工调优阶段
  • 需要在 CI 流水线中自动生成并评估多个项目的模糊测试混合器

适合人员

  • 开源项目维护者:需要在不深入学习 OSS-Fuzz 的前提下为项目生成测试混合器
  • 安全工程师:负责为团队代码库接入 fuzzing 流程,需要批量生成测试目标
  • 后端开发工程师:正在将 Go 或 Python 服务接入 OSS-Fuzz 以发现潜在漏洞
  • 测试自动化工程师:希望用 LLM 辅助减少手写 fuzz target 的重复工作量