The rapid expansion of software systems and the increasing interconnectedness of digital infrastructure have made software vulnerability detection a critical concern in cybersecurity. Traditional detection techniques, such as static and dynamic analysis, often suffer from high false positive rates, low code coverage, and an inability to detect multiple vulnerabilities simultaneously. This paper presents SHERLOCK, a novel deep learning-based solution utilizing Convolutional Neural Networks (CNN) to detect software vulnerabilities at the function level. Leveraging the Draper VDISC dataset containing over 1.27 million C/C++ functions, we propose a multi-output classification model capable of identifying specific vulnerability types, including CWE-119, CWE-120, and others, prior to software deployment. The system employs a specialized preprocessing pipeline involving lexical analysis and tokenization to convert source code into semantic vectors. Experimental results using a 5-split cross-validation approach demonstrate that SHERLOCK achieves high accuracy rates (up to 99% for specific classes) and outperforms baseline models in specific metrics. However, the study also highlights significant challenges regarding dataset imbalance, particularly for rarer vulnerability types like CWE-469. The findings validate the potential of deep learning to enhance automated vulnerability detection workflows and suggest future directions for handling data scarcity in cybersecurity.
Paper
References (27)
Scroll for more · 15 remaining