FuzzGPT:用大语言模型生成“极端边界程序”的深度学习框架 Fuzzing 新范式

" 随着 PyTorch、TensorFlow、JAX 等深度学习框架成为 AI 基础设施,其 API的稳定性与安全性正面临前所未有的挑战。然而,传统 Fuzzing技术在测试DL框架时逐渐暴露瓶颈:随机变异难以覆盖复杂API参数空间、手工规则难以构造"非直觉但合法"的极端输入、大量真实漏洞隐藏在 Edge Case(边界用法)

针对这些问题,研究者提出FuzzGPT,利用大语言模型(LLM)作为"边界用例生成器" 的新型Fuzzing方法,系统性挖掘深度学习 API 中潜藏的异常行为与崩溃漏洞。 "

  • 📄 论文标题:FuzzGPT: Large Language Models are Edge-Case Generators Crafting Unusual Programs for Fuzzing Deep Learning Libraries
  • 📅 发表时间: IEEE/ACM International Conference on Software Engineering, 2024

  • 🏫 作者单位:伊利诺伊香槟分校

  • 💡开源代码: https://github.com/ise-uiuc/FuzzGPT

01---方法介绍

FuzzGPT 的核心洞察在于:LLM 并不只是代码生成器,而是天然的"异常用法想象器"。整体框架由三个关键阶段组成:

① API 语义理解

引导 LLM 学习 DL 框架 API 的参数语义与使用约束。

② 边界程序生成

通过 Prompt 设计,驱动 LLM 生成不常见但合法的 API 组合与参数配置。

③ 执行与反馈

运行生成程序,监测崩溃、异常、数值错误等潜在漏洞。

图 1. FuzzGPT整体框架

图 2. 有错误的API注释的提示

小结:FuzzGPT 将"生成策略"从随机变异提升为语义驱动的异常探索。

02---关键机制

  1. 首次系统性验证 LLM 的 Edge-Case 生成能力。
  2. 从"随机变异"转向"语义异常探索"。
  3. 无需源码插桩即可发现深层 API Bug。
模块 实现方式 主要作用
LLM 引导生成 基于 Prompt 的程序合成 生成非直觉、非常规的 API 使用方式
Edge-Case 构造 极端参数组合、嵌套调用、异常形状 触发传统 Fuzzer 难以覆盖的路径
执行监测 运行时错误、崩溃、异常输出检测 识别潜在安全与稳定性缺陷
反馈驱动迭代 基于执行结果优化生成策略 持续放大漏洞触发概率

小结:LLM 在 FuzzGPT 中不负责"覆盖更多",而是专注于"更刁钻"。

03---实验结果

实验在PyTorch(v1.12)和TensorFlow(v2.10)上的进行了相关工作比较。主要实验结果如下。


表1显示了不同学习范式的比较结果。实验分别在少样本、零样本和微调(分别记为FuzzGPT-FS、FuzzGPT-ZS和FuzzGPT-FT)设置下运行FuzzGPT,以评估它们在模糊测试中的各自有效性。

表1. 不同学习范式的比较

表2显示了不同相关工作的比较结果。将FuzzGPT-FS/-ZS/-FT与最先进的模糊测试工具TitanFuzz以及其他近期深度学习库模糊测试工具进行比较。所有技术均在其默认配置下应用。

表2. 不同相关工作的比较

Bug统计汇总见表3。总的来说,FuzzGPT检测到了76个漏洞,其中61个已确认,包括49个之前未知的漏洞(其中6个已修复)。

表3. 检测到的bug数量总结

**小结:**FuzzGPT完全自动化,具有泛化能力,展示了ChatGPT在没有任何历史信息的情况下生成边缘情况程序的潜力。实验结果表明,FuzzGPT的性能显著优于现有的DL库模糊测试工具,并且能够检测PyTorch和TensorFlow中的各种错误。

📌 总结

FuzzGPT 展示了一种全新的 Fuzzing 思路:不再只是跑得更快、变得更多,而是"想得更怪"。通过引入大语言模型,FuzzGPT 成功突破了传统 DL 框架测试在 Edge Case 覆盖上的瓶颈,为未来 AI 系统安全测试 提供了新的研究方向。

📣 欢迎留言讨论

  • 你认为 LLM 会成为未来 Fuzzing 的"默认生成器"吗?

  • 在安全测试中,语义驱动是否比覆盖率驱动更重要?

📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

相关推荐
happyprince1 小时前
05_verl-配置系统详解
人工智能·架构·强化学习
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 44 - 47)
开发语言·人工智能·经验分享·笔记·python
zhy295631 小时前
【DNN】基于llama.cpp的Qwen3-0.6B量化部署微调
人工智能·lora·dnn·llama·qwen3
Ada's1 小时前
【智能体系统AgentOS】核心22:Evo
人工智能
探物 AI1 小时前
零基础入门3D点云深度学习:从PointNet开始,理解3D数据处理
人工智能·深度学习·3d
段一凡-华北理工大学1 小时前
LangChain框架在高炉炼铁智能化领域的应用~系列文章02:从Prompt开始,让大模型听懂高炉的“黑话“
大数据·人工智能·学习·架构·langchain·prompt·高炉炼铁
硅谷秋水1 小时前
Nautilus:从单一提示词到即插即用机器人学习
人工智能·深度学习·机器学习·机器人
工头阿乐1 小时前
Claude Code 安装手册
人工智能
洛星核1 小时前
Aider 安装、使用方法详细全解
人工智能·github·人机交互·ai编程·agi