摘要
本发明提供了一种面向源代码的细粒度漏洞检测方法及系统,获取已有程序源代码和漏洞敏感元素作为训练数据;将训练数据中的程序源代码编译成为中间表示,以包含漏洞敏感元素的中心节点为基准,对代码值流图进行过程间切片,提取代码中跟漏洞相关的信息;对生成的切片子图进行向量表示,将图结构的信息转化为可以输入漏洞检测模型的格式;使用处理好的训练数据训练漏洞检测模型;提取目标程序源代码的切片子图,生成节点嵌入并输入训练好的漏洞检测模型进行检测,预测目标程序的切片中是否含有漏洞以及具体的漏洞位置。本发明能够实现漏洞检测的高准确率,并能够在细粒度上检测漏洞并精确定位漏洞位置。