SCALE:面向软件漏洞检测的结构化自然语言注释树构建
软件工程
2024-03-29 v1 密码学与安全
摘要
近期,自动软件漏洞检测领域关注度日益增加。预训练模型方法在检测漏洞方面表现优于其他深度学习方法,但现有预训练模型方法通常以代码序列作为输入进行预测,可能忽略漏洞相关的结构信息,具体体现在以下两个方面:其一次倾向于推断包含多个运算符和指针等复杂逻辑的代码语句语义;其二是难以理解各种代码执行序列,这对于精确漏洞检测至关重要。为缓解这些挑战,我们提出一种基于预训练模型的、集成代码语义与代码执行序列的结构化自然语言注释树(Structured Natural Language Comment Tree, SCT)漏洞检测框架,称为 SCALE。具体而言,SCALE 包括三个主要模块:(1)注释树构建模块,旨在通过首先采用大语言模型 (LLM) 生成注释,然后将注释节点添加到抽象语法树 (AST) 中,以增强模型推断代码语句语义的能力;(2)结构化自然语言注释树构建模块,旨在通过将代码语法模板与注释树结合,显式涉及代码执行序列;(3)SCT 增强表示模块,最终将构建的 SCT 纳入以充分捕获漏洞模式。
关键词
引用
@article{arxiv.2403.19096,
title = {SCALE: Constructing Structured Natural Language Comment Trees for Software Vulnerability Detection},
author = {Xin-Cheng Wen and Cuiyun Gao and Shuzheng Gao and Yang Xiao and Michael R. Lyu},
journal= {arXiv preprint arXiv:2403.19096},
year = {2024}
}
备注
Accepted by ISSTA 2024