中文

通过对抗训练检测带有微小修改的 LLM 生成代码

软件工程 2025-07-18 v1

摘要

随着大型语言模型 (LLM) 的快速发展,其强大的代码生成能力在诸多任务中得到广泛应用,如代码补全和自动化开发,显示出提升编码效率的价值。然而,LLM 生成代码的广泛使用也带来了若干新挑战。一方面,代码来源监管、版权争议和代码质量等问题日益受到关注。如何有效检测 LLM 生成的代码并确保其合规和负责任地使用已成为一个关键且紧迫的问题。另一方面,在实际应用中,LLM 生成的代码常常会进行手动修改,如变量重命名或结构调整。尽管一些最近的研究提出了基于训练和零样本的方法来检测 LLM 生成的代码,但这些方法在应对经过修改的 LLM 生成代码时表现不足,缺乏有效的解决方案。为解决 LLM 生成代码可能经历小幅修改的真实世界场景,我们提出了 CodeGPTSensor+,即 CodeGPTSensor 的增强版本,该模型采用对抗训练来提高对输入扰动的鲁棒性。CodeGPTSensor+ 集成了一个对抗样本生成模块、多目标标识器和结构转换 (MIST),该模块系统地生成高质量且具有代表性的对抗样本。该模块有效增强了模型对各种对抗攻击的抗性。在 HMCorp 数据集上的实验结果表明,CodeGPTSensor+ 在对抗测试集上显著提高了检测准确率,同时保持了在原始测试集上的高准确率,显示出比 CodeGPTSensor 更佳的鲁棒性。

关键词

引用

@article{arxiv.2507.13123,
  title  = {Detecting LLM-generated Code with Subtle Modification by Adversarial Training},
  author = {Xin Yin and Xinrui Li and Chao Ni and Xiaodan Xu and Xiaohu Yang},
  journal= {arXiv preprint arXiv:2507.13123},
  year   = {2025}
}