[Paper] 基于LLM的深度学习库静默漏洞模糊测试:通过多样化且受控的漏洞转移

发布: (2026年2月26日 GMT+8 22:53)
8 分钟阅读
原文: arXiv

Source: arXiv - 2602.23065v1

概述

深度学习框架如 PyTorch、TensorFlow 和 MindSpore 为从研究原型到生产级 AI 服务提供动力。虽然现有的模糊测试工具能够轻易发现崩溃,但它们往往遗漏更为隐蔽的 silent bugs——即不会导致程序崩溃却悄悄破坏模型结果的错误。本文提出了 TransFuzz,一种新颖的方法,利用大语言模型(LLMs)将历史问题报告中的 bug‑finding 知识“迁移”到新的、针对性的测试用例中,从而在深度学习库中系统性地发现 silent bugs。

关键贡献

  • LLM‑驱动的 bug 模式提取 – 解析历史问题单,学习对静默 bug 的上下文感知描述。
  • 基于功能的 API 匹配 – 使用语义嵌入在其他库中定位行为上与有缺陷 API 相似的 API。
  • 带自定义 oracle 的自动化测试用例合成 – 生成输入并检查(oracle),能够检测细微的错误行为,而不仅仅是崩溃。
  • 自我验证模块 – 一个由 LLM 提供动力的步骤,在模糊测试前自动验证转移的 bug 实例是否合理。
  • TransFuzz 原型 – 在 PyTorch、TensorFlow 和 MindSpore 上进行评估,发现 79 个此前未知的 bug,其中包括 12 个 CVE,覆盖 10 类 bug。

方法论

  1. 挖掘历史缺陷报告 – 系统爬取问题跟踪系统(GitHub、邮件列表等),并将每个报告输入大型语言模型(如 GPT‑4)。模型提取一个 缺陷模式:涉及的 API、错误条件以及能够暴露该缺陷的 oracle。
  2. API 嵌入 – 目标深度学习库中的每个公共 API 都用一个向量表示,该向量来源于其文档、类型签名和示例代码。这些向量捕捉功能相似性。
  3. 受控缺陷迁移 – 对于给定的历史缺陷模式,系统在嵌入空间中找到最近的 API。随后让 LLM 为新 API 重写该模式,保持逻辑缺陷不变,同时调整参数名称、数据形状等。
  4. 测试用例生成 – LLM 生成具体的 Python 代码片段,调用目标 API 并使用真实的张量,同时嵌入自定义 oracle(例如 “输出应数值上与参考实现完全相同”)。
  5. 自我验证 – 在启动模糊测试之前,LLM 检查生成的测试用例的语法正确性和逻辑一致性,剔除可疑的迁移。
  6. 模糊测试循环 – 验证通过的测试用例被送入基于覆盖率的模糊测试器,该测试器对输入张量进行变异。每当 oracle 检测到偏差时,记录该缺陷以供人工分拣。

整个流水线全自动化,只需要最初的一组历史缺陷报告作为种子数据。

结果与发现

LibraryBugs discoveredConfirmed CVEsBug types covered
PyTorch315形状不匹配、精度损失、梯度不正确等
TensorFlow284数据类型转换错误、静默溢出、内存泄漏‑释放错误
MindSpore203广播错误、优化器状态漂移
  • 报告了 79 个新漏洞;其中 12 个被相应厂商接受为 CVE。
  • 静默漏洞检测率比仅检测崩溃的最先进 DL 模糊测试工具高约 ~3×
  • 自我验证步骤过滤掉约 22 % 的生成传输,减少了无效的模糊测试时间,同时不影响召回率。

实际意义

  • 主动安全测试 – 开发者可以将 TransFuzz 集成到 CI 流水线中,以在发布前捕获静默正确性回归,补充传统的仅崩溃模糊测试。
  • 跨库鲁棒性 – 由于错误模式可以在不同框架之间迁移,在 PyTorch 中发现的修复可以快速在 TensorFlow 或 MindSpore 中显现类似问题,加速补丁传播。
  • 降低人工工作量 – 大语言模型承担了 oracle 设计的繁重工作,这通常是静默错误模糊测试的瓶颈。团队可以专注于分流和修复,而不是编写定制检查。
  • 提升模型可靠性 – 检测静默的数值或梯度错误有助于防止下游模型漂移,这对受监管的领域(医疗、金融、自动驾驶系统)至关重要。

局限性与未来工作

  • LLM 依赖 – bug 转移的质量取决于 LLM 理解 API 语义的能力;不准确的重写可能产生误报或遗漏细微的 bug。
  • 嵌入的可扩展性 – 为每个公共 API 进行嵌入在所评估的三个库中可行,但要扩展到庞大且快速演化的代码库可能需要增量或层次化的嵌入策略。
  • Oracle 表达能力 – 目前的 oracle 主要是基于相等或容差的检查;更复杂的属性(例如概率保证)仍未涵盖。
  • 未来方向 作者提出包括:
    1. 在特定领域代码上微调 LLM,以提升模式保真度。
    2. 将该方法扩展到其他机器学习生态系统(如 JAX、ONNX)。
    3. 探索混合静态‑动态分析,以进一步裁剪搜索空间。

作者

  • Kunpeng Zhang
  • Dongwei Xiao
  • Daoyuan Wu
  • Jiali Zhao
  • Yuanyi Lin
  • Tongtong Xu
  • Shaohua Wang
  • Shuai Wang

论文信息

  • arXiv ID: 2602.23065v1
  • 分类: cs.SE
  • 出版时间: 2026年2月26日
  • PDF: Download PDF
0 浏览
Back to Blog

相关文章

阅读更多 »