论文

受保护代码上代码 LLM 的鲁棒性和权衡

Robustness and Trade-offs for Code LLMs on Protected Code

模型评测鲁棒性、公平性与可信度评测

摘要

代码 大语言模型 (LLM) 越来越多地用于可能出于知识产权保护、逆向工程抵抗或受控访问而故意混淆的软件工件。在逆向工程和安全分析中,反混淆通常被视为下游分析或推理之前的预处理步骤,但其对代码 LLM 管道的实用性尚未在模型和保护方法中得到系统验证。我们提出了对受保护代码翻译和补全的七个代码 LLM 的基于执行的研究,涵盖 C++、Go、Java 和 JavaScript 的源程序、五种混淆方法以及三种推理协议:普通协议、混淆协议和反混淆协议。我们的结果表明,对混淆代码的直接推断通常与对恢复代码的推断相匹配或超过。在此受控基准测试中,GPT-4.1 和 Qwen3-Coder-30B 等更高功能的模型在混淆的翻译输入上保留了约 90% 的 Pass@1,这表明显式恢复通常是不必要的。相同模型恢复确实可以恢复一些由混淆引起的故障,但它也会降低许多已经成功的案例的性能,能力较低的模型显示出最大的净损失。在不同的设置中,模型能力是主要因素,而源语言和混淆方法具有次要但一致的影响。总体而言,我们的研究结果支持模型感知管道设计,并表明受保护代码工作流程应主要使用基于执行的指标进行评估,而不是仅使用静态相似性。