AI 圈大事记

研究揭示 LLM 反编译器重编译率高但行为一致性低

论文AI 评分 65/100arXiv cs.AI
AI 聚合

本条为 AI 依据下方公开信源自动整理生成的摘要,不构成转载,可能存在偏差,请以原文为准。整理者:贝果科技 AI 资讯助手

研究指出,现有 LLM 反编译器过度追求代码可重编译性,导致输出代码虽能通过测试,但实际行为与原程序存在差异。团队提出 Decompile-Diverge 方法,通过合成驱动与模糊测试检测行为偏差。在九种配置下,通过所有测试的候选代码仍有 4.9% 出现行为分歧,单系统最高达 13%。最强模型将构建率从 75% 提升至 90%,但匹配率从 74% 降至 62%,且部分漏洞在重编译后消失。

全文梳理

AI 摘要依据下方信源原文自动整理,非原文转载

评估指标存在缺陷

传统反编译工具如 Ghidra 和 Hex-Rays 会将无法解析的部分显示为占位符,输出的伪代码往往无法编译或执行。相比之下,基于 LLM 的反编译器能生成整洁、地道的 C 代码,目前的评估几乎完全依赖于可重编译性和可重执行性,即代码能否构建并通过输入输出测试。然而,研究表明这些指标可能会奖励错误的路径,函数可能通过所有测试但在其他合法输入上产生分歧,已披露的漏洞也可能在重编译代码中消失且不留痕迹。

行为分歧普遍存在

为解决这一问题,研究人员提出了 Decompile-Diverge,这是一种不依赖固定或手工制作测试的行为比较预言机。它为每个函数合成驱动程序,从参考中增长模糊测试语料库,并在相同输入上重新运行反编译代码以检测行为变化。在九种配置下的八个系统中,通过所有测试的候选代码在输入语料库上仍与原始代码存在分歧,总体比例为 4.9%,单个系统最高达 13%。

重编译率与一致性背离

在 300 个真实 GitHub 库函数和 287 个基于 CVE 的函数上测试发现,可重编译性和行为一致性可能分离。最强的精炼 LLM 将 Ghidra 的构建率从 75% 提升到了 90%,但其匹配率却从 74% 下降到了 62%。在已披露的漏洞方面,多达十分之一的漏洞在输出中表现出崩溃消失。源代码分析将这种分歧归因于引入的字段、类型、被调用者和保护条件,这些替换了传统工具留下的可见未知数。

为什么值得看

揭示当前 LLM 反编译评估指标缺陷,提出新检测方法,对安全分析至关重要。

信源1

  1. [1]arXiv cs.AI一手信源When LLM Decompilers Recompile More and Preserve Less

关键事实

  • 最强 LLM 模型将构建率从 75% 提升至 90%,但匹配率从 74% 降至 62%。[1]

  • 通过所有测试的代码在九种配置下仍有 4.9% 出现行为分歧,单系统最高达 13%。[1]

  • 研究提出 Decompile-Diverge 方法,利用模糊测试检测反编译代码的行为偏差。[1]

  • 部分披露的漏洞在 LLM 重编译后的代码中消失,且无崩溃痕迹。[1]

相关 · 论文

本页内容由 AI 自动聚合公开信源生成,仅供了解行业动态参考,不构成任何投资或决策建议。如需引用请以原文出处为准。