Page 228 - 《软件学报》2026年第3期
P. 228

田朝 等: CoDefense: 面向对抗性攻击的多粒度代码归一化防御方法                                           1191


                 后门攻击和对抗性提示攻击)         [98,99] . 针对这一问题, 有研究提出了基于输入或输出过滤的大语言模型防御方法, 但
                 这些方法主要用于保护大语言模型免受越狱攻击                 [100–102] . 此外, Sheshadri 等人  [103] 提出了一种基于目标潜在对抗性
                 训练  (target latent adversarial training) 的方法, 通过帮助大语言模型忘记不良的知识记忆来有效应对后门攻击. 近
                 期, Zhang  等人  [84] 提出了基于提示的自我防御策略, 利用大语言模型的上下文学习和人类指令理解的能力, 自动修
                 改提示中的对抗性扰动, 并添加有效信息以增强大语言模型应对对抗性提示的能力. 类似地, Lin                           等人  [104] 提出了基
                 于大语言模型代理       (LLM agent-based) 的防御方法, 在将对抗性提示输入到大语言模型之前对其进行字符级修改,
                 并提供修改之后干净的提示, 从而提升模型的鲁棒性. 然而, 这些方法主要针对基于提示的大语言模型                               (prompting-
                 based LLM), 在本文的研究场景中无法直接应用, 因此我们考虑在未来工作中进一步研究这些技术.
                    我们的研究表明, 与广泛使用的对抗性训练策略相比, CoDefense 在防御对抗性攻击方面表现出更高的有效
                 性和效率. 此外, 基于特定对抗性攻击方法的对抗性训练策略大多无法防御其他对抗性攻击, 但                            CoDefense 可以防
                 御不同粒度和策略的对抗性攻击, 这是因为              CoDefense 与对抗性攻击的策略无关. 更为关键的是, 相较于其他对抗
                 性防御方法, CoDefense 不会损害模型的原始性能和嵌入分布. 此外, 在计算机视觉领域, 还存在一些技术可以通
                 过处理输入来提高模型性能          [87,105,106] . Tian  等人  [31] 首次尝试通过即时输入去噪来提升已部署代码模型的性能, 然而
                 他们的方法尚未在对抗性攻击场景下验证对模型鲁棒性的影响.

                  8   总 结

                    本研究致力于增强预训练代码模型在面对对抗性攻击时的防御能力. 为此, 提出了一种基于代码归一化的预
                 训练代码模型对抗性防御方法           (即  CoDefense). 该方法通过多粒度代码归一化将训练过程的原始训练集和推理过
                 程的代码输入进行归一化预处理, 以避免对抗性样本直接输入到代码模型, 并具备防御不同粒度和策略的对抗性
                 攻击的能力. 我们对      CoDefense 进行了全面的实证研究, 涵盖了        27  个不同的实验场景. 实验结果表明, 与当前最先
                 进的对抗性训练方法相比, CoDefense        能够更有效地防御对抗性攻击. 具体而言, CoDefense            能够成功防御高达
                 95.33%  的对抗性攻击, 相较于最先进的对抗性训练策略平均提升                   10.75%. 更为关键的是, 不同于对抗性训练,
                 CoDefense 对原始模型的性能和嵌入质量影响更小. 此外, CoDefense 在运行效率上也大幅超越了最先进的对抗性
                 训练, 其时间效率相较于对比方法平均提升了              85.86%. 综上所述, CoDefense 不仅显著提升了预训练代码模型在对
                 抗性攻击面前的防御能力, 而且在保证模型性能和嵌入质量的同时大幅提升了时间效率, 为维护代码模型的安全
                 性和实用性提供了有力的保障.

                 References
                  [1]   Feng ZY, Guo DY, Tang DY, Duan N, Feng XC, Gong M, Shou LJ, Qin B, Liu T, Jiang DX, Zhou M. CodeBERT: A pre-trained model
                      for  programming  and  natural  languages.  In:  Findings  of  the  Association  for  Computational  Linguistics:  EMNLP  2020.  ACL,  2020.
                      1536–1547. [doi: 10.18653/v1/2020.findings-emnlp.139]
                  [2]   Guo DY, Ren S, Lu S, Feng ZY, Tang DY, Liu SJ, Zhou L, Duan N, Svyatkovskiy A, Fu SY, Tufano M, Deng SK, Clement C, Drain D,
                      Sundaresan N, Yin J, Jiang DX, Zhou M. GraphCodeBERT: Pre-training code representations with data flow. arXiv:2009.08366, 2020.
                  [3]   Wang Y, Wang WS, Joty S, Hoi SCH. CodeT5: Identifier-aware unified pre-trained encoder-decoder models for code understanding and
                      generation. In: Proc. of the 2021 Conf. on Empirical Methods in Natural Language Processing. ACL, 2021. 8696–8708. [doi: 10.18653/
                      v1/2021.emnlp-main.685]
                  [4]   Wang Z, Yan M, Liu S, Chen JJ, Zhang DD, Wu Z, Chen X. Survey on testing of deep neural networks. Ruan Jian Xue Bao/Journal of
                      Software, 2020, 31(5): 1255–1275 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5951.htm [doi: 10.13328/j.cnki.
                      jos.005951]
                  [5]   Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser Ł, Polosukhin I. Attention is all you need. In: Proc. of the
                      31st Int’l Conf. on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 6000–6010.
                  [6]   Ahmad W, Chakraborty S, Ray B, Chang KW. Unified pre-training for program understanding and generation. In: Proc. of the 2021
                      Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. ACL, 2021.
                      2655–2668. [doi: 10.18653/v1/2021.naacl-main.211]
   223   224   225   226   227   228   229   230   231   232   233