OSS-Fuzz-Gen 项目教程
oss-fuzz-genLLM powered fuzzing via OSS-Fuzz.项目地址:https://gitcode.com/gh_mirrors/os/oss-fuzz-gen
项目介绍
OSS-Fuzz-Gen 是一款基于大型语言模型(LLM)的模糊测试对象生成与评估框架。该工具旨在帮助研究人员和开发者使用多种大语言模型生成真实场景中的 C/C++ 项目,以执行模糊测试。通过自动化生成模糊测试对象,OSS-Fuzz-Gen 能够显著提高代码覆盖率,并发现潜在的安全漏洞。
项目快速启动
克隆项目
首先,将 OSS-Fuzz-Gen 项目源码克隆至本地:
git clone https://github.com/google/oss-fuzz-gen.git
cd oss-fuzz-gen
生成并评估模糊测试对象
使用以下命令生成并评估一个模糊测试对象:
./generate_fuzz_target.sh <项目名称>
./evaluate_fuzz_target.sh <项目名称>
执行基准测试
执行基准测试以验证生成的模糊测试对象的有效性:
./run_benchmark.sh <项目名称>
应用案例和最佳实践
案例一:TinyXML2 项目
在 TinyXML2 项目中,OSS-Fuzz-Gen 成功地将模糊测试的行覆盖率从 38% 提升至 69%,而无需任何人工干预。这表明 OSS-Fuzz-Gen 能够有效地提高代码覆盖率,并发现潜在的漏洞。
案例二:OpenSSL 项目
针对 OpenSSL 项目,OSS-Fuzz-Gen 从发现过去未被模糊测试覆盖的漏洞的角度出发,成功地生成了一个类似的模糊测试对象,并重新发现了这些漏洞。
典型生态项目
OSS-Fuzz
OSS-Fuzz 是一个持续模糊测试平台,支持超过 1000 个开源项目。通过与 OSS-Fuzz 集成,OSS-Fuzz-Gen 能够为现有项目提供免费的覆盖率提升,并自动化新项目的加入过程。
libFuzzer 和 AFL
OSS-Fuzz-Gen 生成的模糊测试对象可以与 libFuzzer 和 AFL 等模糊测试引擎结合使用,实现覆盖率导向的模糊测试,从而进一步提高代码质量和安全性。
通过以上步骤和案例,您可以快速上手并充分利用 OSS-Fuzz-Gen 项目,提升您的开源项目的代码质量和安全性。
oss-fuzz-genLLM powered fuzzing via OSS-Fuzz.项目地址:https://gitcode.com/gh_mirrors/os/oss-fuzz-gen