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/FuzzGPT01—方法介绍FuzzGPT 的核心洞察在于LLM 并不只是代码生成器而是天然的“异常用法想象器”。整体框架由三个关键阶段组成① API 语义理解引导 LLM 学习 DL 框架 API 的参数语义与使用约束。② 边界程序生成通过 Prompt 设计驱动 LLM 生成不常见但合法的 API 组合与参数配置。③ 执行与反馈运行生成程序监测崩溃、异常、数值错误等潜在漏洞。图 1. FuzzGPT整体框架图 2. 有错误的API注释的提示小结FuzzGPT 将“生成策略”从随机变异提升为语义驱动的异常探索。02—关键机制首次系统性验证 LLM 的 Edge-Case 生成能力。从“随机变异”转向“语义异常探索”。无需源码插桩即可发现深层 API Bug。模块实现方式主要作用LLM 引导生成基于 Prompt 的程序合成生成非直觉、非常规的 API 使用方式Edge-Case 构造极端参数组合、嵌套调用、异常形状触发传统 Fuzzer 难以覆盖的路径执行监测运行时错误、崩溃、异常输出检测识别潜在安全与稳定性缺陷反馈驱动迭代基于执行结果优化生成策略持续放大漏洞触发概率小结LLM 在 FuzzGPT 中不负责“覆盖更多”而是专注于“更刁钻”。03—实验结果实验在PyTorchv1.12和TensorFlowv2.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 的“默认生成器”吗在安全测试中语义驱动是否比覆盖率驱动更重要 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力