【论文解读】| 通过大语言模型实现通用模糊测试

本次分享论文为:Universal Fuzzing via Large Language Models

基本信息

**论文标题:**Universal Fuzzing via Large Language Models

**论文作者:**Steven Chunqiu, Xia, Matteo Paltenghi, Jia Le Tian, Michael Pradel, Lingming Zhang, Matteo Xia, Jia Paltenghi, Michael Le Tian, Lingming Pradel, Zhang

作者单位: University of Illinois Urbana-Champaign, USA; University of Stuttgart, Germany

关键词: Fuzzing, Large Language Models, Software Testing, Vulnerability Discovery

原文链接:

https://arxiv.org/pdf/2308.04748.pdf

论文要点

**论文简介:**本论文提出了Fuzz4All,一个利用大型语言模型(LLMs)来实现通用模糊测试的方法。与传统fuzzing工具相比,该框架能够针对多种输入语言和特性进行模糊测试,通过生成多样化且真实的输入,显著提高软件测试的覆盖率和发现漏洞的能力。

**研究背景:**对软件开发的基础构建块,如编译器、运行时引擎和API库,进行高效的模糊测试尤为重要。然而,现有的模糊测试工具往往受限于特定的输入语言或特性,难以适应软件和语言的快速发展。

研究贡献:

1.提出了一个通用模糊测试框架,可以应对多种语言和特性。

2.引入了自动提示(autoprompting)技术,自动提炼用户输入为高效的模糊测试提示。

3.实现了一个基于LLM的模糊测试循环,通过迭代更新提示来生成多样化的测试输入。

4.在九个不同的系统上进行了实验,展示了Fuzz4All与现有工具相比在代码覆盖率和bug发现上的显著改进。

引言

当前软件安全领域面临的一大挑战是如何有效地发现和修复各种软件系统中的漏洞。尽管fuzzing技术在过去几十年中取得了显著进展,但大多数现有方法都集中在特定的编程语言或软件版本上,限制了它们的通用性和适应性。针对这一问题,研究者提出了一种新的fuzzing方法,该方法利用大型语言模型的能力,不仅能够理解和生成特定语言的代码,还能够自适应地学习和应对新的语言特性和版本变化。

背景知识

模糊测试的两大类方法是基于生成的模糊测试和基于变异的模糊测试。基于生成的模糊测试直接合成完整的代码片段,而基于变异的模糊测试则是对一组高质量的种子进行变异操作。传统的模糊测试面临三大挑战:与目标系统和语言的紧密耦合、缺乏对语言种类的支持、以及生成能力的限制。Fuzz4All通过引入LLM作为输入生成和变异引擎,以及自动提示技术,有效应对了这些挑战。

论文方法

理论背景

Fuzz4All的核心在于使用大型语言模型作为生成测试输入的工具,这些模型通过大量编程语言示例的预训练,能够理解语言的语法和语义。

****方法实现

1.自动提示:通过自动化的过程提炼用户输入,生成适合模糊测试的提示。

2.模糊测试循环:利用LLM迭代更新提示,生成多样化的测试输入。

实验

a. 实验设置

实验设计涵盖了六种输入语言(C、C++、SMT、Go、Java和Python)以及九个系统。对Fuzz4All进行了与现有基于生成和基于变异的模糊测试工具的比较,测试了24小时的模糊测试预算,并进行了五次重复。此外,实验还考察了不同组件对Fuzz4All有效性的贡献,并通过反复迭代测试来减少长时间模糊测试运行中的变异。

b.实验结果:

实验结果表明Fuzz4All在所有六种语言上均实现了比现有语言特定模糊测试工具更高的代码覆盖率。此外,Fuzz4All还发现了76个bug,其中47个被开发者确认为之前未知的。

论文结果

Fuzz4All通过利用大型语言模型的强大能力,成功实现了一个通用的模糊测试框架,能够自动适应多种语言和特性。这一方法不仅提高了软件测试的覆盖率,还能有效发现之前未被发现的bug,对提升软件的可靠性和安全性具有重要意义。

相关推荐
dundunmm7 分钟前
【论文阅读】SIMBA: single-cell embedding along with features(2)
论文阅读·人工智能·embedding·生物信息·单细胞·多组学·细胞类型识别
金井PRATHAMA28 分钟前
意象框架:连接感知与认知的统一信息结构分析——基于上古汉语同源词意义系统的词源学与认知语言学探索
人工智能·自然语言处理
聚客AI35 分钟前
🧠深度解析模型压缩革命:减枝、量化、知识蒸馏
人工智能·深度学习·llm
SHIPKING39342 分钟前
【机器学习&深度学习】Ollama、vLLM、LMDeploy对比:选择适合你的 LLM 推理框架
人工智能·深度学习·机器学习
zzywxc7871 小时前
AI 行业应用:金融、医疗、教育、制造业领域的落地案例与技术实现
android·前端·人工智能·chrome·金融·rxjava
新智元1 小时前
刚刚,GPT-5 Pro 自证全新数学定理!OpenAI 总裁直呼颠覆,大佬们集体转发
人工智能·openai
新智元1 小时前
28 岁华人执掌 1.85 万亿科技巨头 AI 大权!一觉醒来,图灵奖得主也要向他汇报
人工智能·openai
居然JuRan1 小时前
从LoRA到QLoRA再到全量微调
人工智能
腾讯云开发者1 小时前
数字化下半场:数智融合如何驱动增长新势能?
人工智能
机器之心1 小时前
字节开源Seed-OSS-36B模型,512k上下文
人工智能·openai