MirrorFuzz:利用共享漏洞与大模型的深度学习框架 API 模糊测试

" 深度学习框架(如 PyTorch、TensorFlow 等)已成为 AI 应用的基础设施,其内部 API 的稳定性与安全性直接影响模型训练与部署的可靠性。然而,现有针对深度学习框架的模糊测试方法,大多将 API 视为相互独立的测试对象,忽略了一个关键事实:不同深度学习框架之间,乃至同一框架内部,存在大量功能高度相似的API,而这些 API 往往共享相同或相似的漏洞模式。

基于这一洞察,研究者提出了MirrorFuzz, 一种结合大语言模型(LLM)与共享漏洞(Shared Bugs)概念的API级模糊测试框架,通过"漏洞镜像"的方式显著提升深度学习框架API的漏洞发现能力。 "

  • 📄 论文标题:MirrorFuzz: Leveraging LLM and Shared Bugs for Deep Learning Framework APIs Fuzzing

01---方法介绍

如图1所示,PyTorch的torch.nn.functional.avg_pool2d和TensorFlow的tf.nn.avg_pool3d用于池化操作的API都存在同样的问题。将avg_pool2d中的步长参数设置为0(一个无效值)会导致PyTorch崩溃,在同等条件下,TensorFlow的avg_pool3d API也会发生类似情况。然而,现有的深度学习(DL)框架模糊测试方法忽视了深度学习框架之间的相似性以及这些相似性可能带来的潜在安全风险,并且未能利用共享的漏洞进行早期漏洞检测。

图 1. 共享漏洞的例子

MirrorFuzz 的核心思想可以概括为一句话:"已知一个 API 的漏洞,可以作为'镜像',去引导发现其他相似 API 的漏洞。"

整体框架由三个关键阶段组成:

① Buggy API 识别

利用 LLM 从真实 Issue 中理解并抽象已知漏洞模式;

② 相似 API 检索

在同一或不同深度学习框架中定位语义与接口相似的 API;

③ 镜像式用例生成

将已知漏洞的触发模式迁移到目标 API,生成高质量 Fuzzing 用例。

图 2. MirrorFuzz整体框架

小结:MirrorFuzz 不从"随机变异"出发,而是从"历史漏洞知识"出发进行定向测试。

02---关键机制

  1. 共享漏洞视角,首次系统性利用 DL 框架 API 之间的漏洞同源性。
  2. LLM 驱动的漏洞理解,从自然语言 Issue 中提炼可执行的漏洞模式。
  3. 镜像式 Fuzzing,将已有漏洞作为种子,引导定向测试。
模块 实现方式 主要作用
漏洞语义抽取 利用 LLM 理解 Issue 描述与崩溃信息 抽象可迁移的漏洞触发模式
相似 API 匹配 基于 API 名称、参数与功能语义 发现潜在共享漏洞的 API 对
镜像用例生成 将已知漏洞用例映射至目标 API 生成高命中率的 Fuzzing 输入
API 级 Fuzzing 执行 自动运行并监控崩溃与异常 发现真实可复现漏洞

小结:Mirror" 的本质是漏洞知识迁移,而非简单代码复制。

03---实验结果

实验使用Python实现了MirrorFuzz,并选择了常用的深度学习(DL)框架,包括PyTorch(v2.4.1)、TensorFlow(2.17.0)、OneFlow(v0.9)和Jittor(v1.3.9.5)。主要实验结果如下。


表1显示了不同提示策略下对有缺陷API识别能力。结果表明提供有缺陷的API识别示例、完整的问题上下文,并通过少量样本的思维链(CoT)技术来细化任务,这些都有助于提高大型语言模型(LLM)的性能。

表1. 不同提示策略下对有缺陷API识别的实验结果


表2显示了通过MirrorFuzz发现的BUG情况。对于错误类型,"SEGV"代表分段错误,"FPE"代表浮点异常,"ABORT"代表程序异常终止。"OTHER"包括内部故障和编译失败。

表2. 通过MirrorFuzz发现的BUG

小结**:MirrorFuzz利用LLM从错误报告中识别出有缺陷的API,并为类似API合成有针对性的测试用例,以诱发类似的错误。实验评估MirrorFuzz,发现了315个错误,其中262个是新发现的,此外,MirrorFuzz在TensorFlow上的代码覆盖率提高了39.92%,在PyTorch上的代码覆盖率提高了98.20%。**

📌 总结

MirrorFuzz 提出了一种全新的 DL 框架安全测试范式:以历史漏洞为知识源,以 API 相似性为桥梁,以LLM为理解引擎 。该工作表明,在复杂软件系统中,"漏洞是可以复用的知识"。这一思路不仅适用于深度学习框架,也为库级Fuzzing、API 安全测试提供了重要启示。

📣 欢迎留言讨论

  • 你认为"共享漏洞"是否在其他软件生态中同样普遍存在?

  • LLM 在安全测试中更适合作为生成器,还是知识抽象器?

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

相关推荐
Splashtop高性能远程控制软件4 分钟前
AI 辅助端点运维先接手补丁分级、合规可视和同台处置
运维·网络·人工智能·自动化·远程工作·splashtop
Yanjun2i12 分钟前
Agent学习记录四:多工具时如何处理
人工智能·python·学习·agent
creator_Li15 分钟前
深度学习 学习笔记
pytorch·深度学习
我有满天星辰33 分钟前
第一次使用 Milvus:给我的 AI 知识库装上“记忆”
人工智能·milvus
YOLO数据集集合40 分钟前
天空反无人机检测数据集 | 无人机检测 多旋翼识别 固定翼识别 低空安防 目标检测9063期
人工智能·yolo·目标检测·计算机视觉·无人机·反无人机
一木 之林1 小时前
插件、MCP、Skill 的区别?
java·c++·人工智能
JiMoKuangXiangQu1 小时前
在 AllWinner T507 上部署 Qwen2.5-0.5B 大语言模型
人工智能·llama.cpp·推理引擎
szarron1 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
IT·陈寒1 小时前
JavaScript性能优化完全指南
人工智能·大模型·api·创业·变现·简历优化