VulDetectBench: Evaluating the Deep Capability of Vulnerability Detection with Large Language Models
Yu Liu, Lang Gao, Mingxin Yang, Yu Xie, Ping Chen, Xiaojin Zhang, Wei Chen
TL;DR
VulDetectBench introduces a five-task multi-task benchmark to evaluate LLMs on vulnerability detection in large C/C++ codebases, spanning existence, CWE type inference, and fine-grained localization (root cause and trigger points). The study evaluates 17 LLMs and finds strong performance on simple presence and type inference tasks but pronounced gaps in detailed vulnerability analysis and precise code localization. Through extensive analysis, the authors show model size and prompting strategies influence results and highlight the limitations of current LLMs in deep vulnerability understanding, while comparing against traditional static analysis tools. The benchmark provides a foundation for future improvements in automated vulnerability analysis and guides responsible deployment of LLMs in security workflows.
Abstract
Large Language Models (LLMs) have training corpora containing large amounts of program code, greatly improving the model's code comprehension and generation capabilities. However, sound comprehensive research on detecting program vulnerabilities, a more specific task related to code, and evaluating the performance of LLMs in this more specialized scenario is still lacking. To address common challenges in vulnerability analysis, our study introduces a new benchmark, VulDetectBench, specifically designed to assess the vulnerability detection capabilities of LLMs. The benchmark comprehensively evaluates LLM's ability to identify, classify, and locate vulnerabilities through five tasks of increasing difficulty. We evaluate the performance of 17 models (both open- and closed-source) and find that while existing models can achieve over 80% accuracy on tasks related to vulnerability identification and classification, they still fall short on specific, more detailed vulnerability analysis tasks, with less than 30% accuracy, making it difficult to provide valuable auxiliary information for professional vulnerability mining. Our benchmark effectively evaluates the capabilities of various LLMs at different levels in the specific task of vulnerability detection, providing a foundation for future research and improvements in this critical area of code security. VulDetectBench is publicly available at https://github.com/Sweetaroo/VulDetectBench.
