来源笔记

Securing Code Understanding: Detecting Natural Backdoor Vulnerability in Code Language Models

Code Language ModelsBackdoor DetectionCode IntelligenceModel SecuritySoftware Engineering AI

本文研究代码语言模型中的自然后门漏洞,并提出 ScanNBT 来检测这类漏洞。研究发现,正常训练的 CodeLM 也可能包含类似触发器的代码特征,把输出推向目标标签。

  • 用于缺陷检测、代码检索、代码摘要和代码修复的 CodeLM,在输入包含正常训练中学到的自然触发特征时,可能给出不安全的预测。
  • 这些触发器不需要数据投毒,所以标准的注入式后门检查可能会漏掉它们。
  • 这类风险有现实影响,因为攻击者可以通过模型访问或代理模型搜索这些触发器,用户在真实代码中也可能偶然触发它们。
  • 研究在 44 个场景中测试自然后门,使用的模型包括 CodeBERT、CodeT5、UniXcoder、StarCoder、DeepSeek-Coder 和 GPT-3.5。
  • 研究使用触发器反演:针对目标标签或目标 token,搜索一段 token 序列,让干净输入朝这个目标移动。
  • 研究从模型行为和参数两个层面比较自然后门与注入式后门。
  • 研究考察了通过共享数据集、共享模型架构和知识蒸馏的迁移情况,其中包括一个针对 GPT-3.5 的 3.5 亿参数蒸馏代理模型。
  • ScanNBT 通过发现更多样的自然触发器来扩展检测,同时让攻击指标与 EliBadCode 保持可比。
  • 评估覆盖 6 个 CodeLM、4 个代码智能任务、3 种编程语言和 44 个场景。
  • 数据集覆盖包括 Devign,训练集 21,854 条、验证集 2,732 条、测试集 2,732 条;CodeSearchNet-Python,训练集 251,820 条、验证集 13,914 条、测试集 14,918 条;以及 Bugs2Fix-small,训练集 46,680 条、验证集 5,835 条、测试集 5,835 条。
  • 论文称,自然后门在测试的 CodeLM 中普遍存在,包括 StarCoder-1B、DeepSeek-Coder-1.3B 和 GPT-3.5 这类大模型。
  • 与注入式后门相比,自然后门的攻击效果更弱,但仍然有害,因为被触发样本在表示空间中更难和干净样本区分开。
  • 研究报告称,这种迁移出现在三类模型之间:在同一数据集上微调的模型、在不同数据集上训练但架构相同的模型,以及通过蒸馏关联的模型。
  • ScanNBT 在多样性上优于 EliBadCode,ASR 和 ANR 相近,Distinct-1 更高,Distinct-2 接近 1.0;摘要未给出 ASR、ANR 或 Distinct-1 的精确数值。