[Paper] 语义等价的代码转换如何影响代码LLMs的成员推断?
发布: (2025年12月17日 GMT+8 22:12)
8 min read
原文: arXiv
Source: arXiv - 2512.15468v1
概述
用于代码的 大型语言模型(LLMs) 在庞大的代码语料库上进行训练,这些语料库混合了公开可用的开源代码片段和专有的、受许可证限制的代码。检测模型是否记住了私有代码对于知识产权合规至关重要,成员推断(MI)攻击已成为实现此目的的工具。本文提出一个务实的问题:**简单的、保持语义不变的代码转换能否用于隐藏代码免受 MI 攻击?**作者系统性地评估了几种此类转换,并发现了一个出乎意料的高效漏洞。
关键贡献
- 对语义转换的实证研究(例如变量重命名、死代码插入、格式化更改),评估其对抗最先进代码大型语言模型(LLMs)的模型逆向(MI)成功率的影响。
- 量化证据表明,大多数单一规则的转换会将模型准确率降低 ≤ 1.5 %,同时保持对下游微调的实用性。
- 识别出高影响力规则:
RenameVariable转换将 MI 攻击成功率降低 10.19 %,是所有测试规则中下降幅度最大的。 - 因果分析确认变量重命名对削弱 MI 检测具有最强的直接作用。
- 关于组合的负面结果:叠加多种转换 并未 在 MI 抵抗力上超越最佳单一规则的效果。
- 实际演示表明,经过转换的代码可作为原始数据的直接替代品用于微调 LLM,且不会出现明显的性能损失。
方法论
- Dataset Preparation – 作者从用于训练流行代码 LLM 的代码片段基准(包括公开和私有)开始。
- Transformation Rules – 他们实现了五种广泛使用、保持语义不变的转换:
RenameVariable(系统化标识符重命名)ReorderImports(打乱 import 语句)AddDeadCode(注入不可达语句)FormatChange(重新格式化空白/缩进)InlineComments(移动或复制注释)
- Membership Inference Attack – 他们使用标准的黑盒 MI 攻击,查询模型并测量训练样本与非训练样本之间的置信度差异。
- Evaluation Pipeline – 对每条规则,他们:
- 将转换应用于训练集。
- 在转换后的数据上微调 LLM。
- 在原始和转换后的测试集上运行 MI 攻击。
- Causal Impact Estimation – 使用结构因果模型,他们在控制代码长度和 token 分布等混杂因素的情况下,隔离每种转换对 MI 成功率的影响。
所有步骤均设计为可使用公开可用的工具(例如 OpenAI 的 Codex、Hugging Face Transformers)和标准的 Python AST 操作库复现。
结果与发现
| Transformation | Drop in Model Accuracy* | MI Success Reduction |
|---|---|---|
RenameVariable | 1.5 % (最坏情况) | 10.19 % |
ReorderImports | ≤ 0.8 % | 3.2 % |
AddDeadCode | ≤ 1.0 % | 4.5 % |
FormatChange | ≤ 0.5 % | 2.1 % |
InlineComments | ≤ 0.7 % | 3.0 % |
*准确率是在微调后对下游代码补全基准进行测量的。
- 变量重命名 是明显的异常值:它既能保持模型性能,又能显著削弱 MI 检测。
- 组合规则(例如,重命名 + 死代码)不会进一步降低 MI 成功率;在最强单一规则之后效果趋于平台化。
- 因果分析 表明,重命名操作直接破坏了 MI 攻击依赖的统计特征(例如,与特定标识符相关的 token‑frequency 峰值)。
总体而言,研究表明,一个适度的自动化转换流水线能够在不牺牲模型实用性的前提下,有效削弱隐私风险评估。
实际影响
- 对于公司:可以在将代码发布到外部训练服务之前,将简单的预处理(例如系统性的变量重命名)集成到 CI 流水线中,从而提供一种低成本的“混淆即隐私”层。
- 对于模型供应商:仅依赖 MI 攻击来证明专有代码未被记忆可能不足;可能需要额外的来源追踪或水印技术。
- 对于代码 LLM 的开发者:训练流水线应考虑对标识符名称进行标准化(或有意随机化),以降低对敏感代码的无意记忆。
- 工具机会:能够自动应用已识别高影响转换的开源工具可以成为标准代码清理套件的一部分,类似于 lint 或格式化工具。
- 监管视角:这些发现凸显了知识产权合规审计中的潜在漏洞;监管机构可能需要强制采用超出 MI 的更强验证方法。
限制与未来工作
- 转换范围 – 本研究仅检查了五种知名的转换;更激进的混淆(例如控制流平坦化)可能会有不同的权衡。
- 模型多样性 – 实验聚焦于单一代码 LLM 架构;对仅编码器模型或更小的微调变体,结果可能会有所不同。
- 攻击变体 – 仅评估了标准的黑盒 MI 攻击;考虑转换后令牌分布的自适应攻击可能会重新获得有效性。
- 实用性权衡 – 虽然准确率下降很小,但对下游任务(如错误检测或代码生成)的影响尚未进行全面测量。
未来的研究方向包括探索 自适应 MI 攻击、基于转换的隐私形式化保证,以及 跨模型研究,以查看观察到的效果是否能在快速扩展的代码专用 LLM 生态系统中得到推广。
作者
- Hua Yang
- Alejandro Velasco
- Thanh Le‑Cong
- Md Nazmul Haque
- Bowen Xu
- Denys Poshyvanyk
论文信息
- arXiv ID: 2512.15468v1
- 类别: cs.SE, cs.AI, cs.CR
- 出版时间: 2025年12月17日
- PDF: 下载 PDF