一句话:系统评测五种代码预训练模型对抗攻击方法,并提出按语句类型优先的 beam search 攻击,兼顾有效性与效率。
基于 Transformer 的代码预训练模型(PTMC)易受标识符替换或编码风格变换等对抗攻击,导致精度下降并带来安全隐患,但现有攻击方法在不同代码智能任务上的有效性与效率尚缺系统认识。本文从有效性、效率和生成样本质量三方面系统分析五种先进攻击方法,发现它们难以兼顾三者:高攻击成功率常伴随高耗时,生成代码自然性也不足。作者进一步发现,在 for 与 if 语句内进行标识符替换最有效,并提出按任务优先扰动特定语句类型、结合 beam search 生成对抗样本的新方法。评估显示,该方法在保持自然性的同时,有效性和效率均优于 ALERT。
Transformer-based pre-trained models of code (PTMC) have been widely utilized and have achieved state-of-the-art performance in many mission-critical applications. However, they can be vulnerable to adversarial attacks through identifier substitution or coding style transformation, which can significantly degrade accuracy and may further incur security concerns. Although several approaches have been proposed to generate adversarial examples for PTMC, the effectiveness and efficiency of such approaches, especially on different code intelligence tasks, has not been well understood. To bridge this gap, this study systematically analyzes five state-of-the-art adversarial attack approaches from three perspectives: effectiveness, efficiency, and the quality of generated examples. The results show that none of the five approaches balances all these perspectives. Particularly, approaches with a high attack success rate tend to be time-consuming; the adversarial code they generate often lack naturalness, and vice versa. To address this limitation, we explore the impact of perturbing identifiers under different contexts and find that identifier substitution within for and if statements is the most effective. Based on these findings, we propose a new approach that prioritizes different types of statements for various tasks and further utilizes beam search to generate adversarial examples. Evaluation results show that it outperforms the state-of-the-art ALERT in terms of both effectiveness and efficiency while preserving the naturalness of the generated adversarial examples.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2311-07553,
title = {An Extensive Study on Adversarial Attack against Pre-trained Models of Code},
author = {Xiaohu Du and Ming Wen and Zichao Wei and Shangwen Wang and Hai Jin},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3616356}
}