返回
DetectVul: A statement-level code vulnerability detection for Python
DOI:10.1016/j.future.2024.107504.png)
摘要
En 中文
Detecting vulnerabilities in source code using graph neural networks (GNN) has gained significant attention in recent years. However, the detection performance of these approaches relies highly on the graph structure, and constructing meaningful graphs is expensive. Moreover, they often operate at a coarse level of granularity (such as function-level), which limits their applicability to other scripting languages like Python and their effectiveness in identifying vulnerabilities. To address these limitations, we propose DetectVul, a new approach that accurately detects vulnerable patterns in Python source code at the statement level. DetectVul applies self-attention to directly learn patterns and interactions between statements in a raw Python function; thus, it eliminates the complicated graph extraction process without sacrificing model performance. In addition, the information about each type of statement is also leveraged to enhance the model's detection accuracy. In our experiments, we used two datasets, CVEFixes and Vudenc, with 211,317 Python statements in 21,571 functions from real-world projects on GitHub, covering seven vulnerability types. Our experiments show that DetectVul outperforms GNN-based models using control flow graphs, achieving the best F1 score of 74.47%, which is 25.45% and 18.05% higher than the best GCN and GAT models, respectively.
Keyword:
Source code vulnerability detection
Deep learning
Natural language processing
期刊
F
IF:
6.1
论文数:
6.9K
被引数:
2.3W
机构
引用论文
VulDeeLocator: A Deep Learning-Based Fine-Grained Vulnerability DetectorVulDeeLocator: 一种基于深度学习的细粒度漏洞检测器
SySeVR: A Framework for Using Deep Learning to Detect Software VulnerabilitiesSySeVR: 使用深度学习检测软件漏洞的框架
Understanding the message passing in graph neural networks via power iteration clustering
NEURAL NETWORKS
IF6.3
μVulDeePecker: A Deep Learning-Based System for Multiclass Vulnerability DetectionΜ vuldeepecker: 基于深度学习的多类漏洞检测系统

