REVIEW 6 cited by
CleanVul: Automatic Function-Level Vulnerability Detection in Code Commits Using LLM Heuristics
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
read the original abstract
Accurate identification of software vulnerabilities is crucial for system integrity. Vulnerability datasets, often derived from the National Vulnerability Database (NVD) or directly from GitHub, are essential for training machine learning models to detect these security flaws. However, these datasets frequently suffer from significant noise, typically 40% to 75%, due primarily to the automatic and indiscriminate labeling of all changes in vulnerability-fixing commits (VFCs) as vulnerability-related. This misclassification occurs because not all changes in a commit aimed at fixing vulnerabilities pertain to security threats; many are routine updates like bug fixes or test improvements. This paper introduces the first methodology that uses the Large Language Model (LLM) with a heuristic enhancement to automatically identify vulnerability-fixing changes from VFCs, achieving an F1-score of 0.82. VulSifter was applied to a large-scale study, where we conducted a crawl of 127,063 repositories on GitHub, resulting in the acquisition of 5,352,105 commits. VulSifter involves utilizing an LLM to comprehend code semantics and contextual information, while applying heuristics to filter out unrelated changes. We then developed CleanVul, a high-quality dataset comprising 8,198 functions using our LLM heuristic enhancement approach, demonstrating Correctness (90.6%) comparable to established datasets such as SVEN and PrimeVul. To evaluate the CleanVul dataset, we conducted experiments focusing on fine-tuning various LLMs on CleanVul and other high-quality datasets. Evaluation results reveal that LLMs fine-tuned on CleanVul not only exhibit enhanced accuracy but also superior generalization capabilities compared to those trained on uncleaned datasets. Specifically, models trained on CleanVul and tested on PrimeVul achieve accuracy higher than those trained and tested exclusively on PrimeVul.
Forward citations
Cited by 6 Pith papers
-
CLEAR: Causal Context-Based Agentic Reasoning for Vulnerability Detection
A multi-agent LLM detector grounded in a causal knowledge graph improves pairwise vulnerable-vs-benign discrimination on PrimeVul and a new Java-Pair dataset.
-
DREA: Decoupled Reasoning and Exploration Agents for Repository-Level Vulnerability Detection
DREA improves repository-level vulnerability detection by coupling an LLM planner that forms hypotheses with a cheap local explorer that gathers cross-file evidence, lifting paired accuracy from 19-26% to 30-42% at mu...
-
Neuro-Symbolic Reasoning for Vulnerability Detection
Separating LLM fact filtering from Lean 4 obligation discharge improves vulnerability-detection F1 in all fifteen CWE×backend settings, especially doubling recall on double-free.
-
Improving LLM Reasoning for Vulnerability Detection via Group Relative Policy Optimization
GRPO fine-tuning with a dynamic formatting, reasoning, and correctness reward helps small LLMs detect vulnerabilities more accurately and reason more coherently than supervised fine-tuning.
-
Mono: Is Your "Clean" Vulnerability Dataset Really Solvable? Exposing and Trapping Undecidable Patches and Beyond
Mono reports that 31% of MegaVul patches are non-security and about 16.7% of CVEs are 'undecidable', while its added context raises LLM vulnerability detection F1 by up to 15%.
-
VulCoCo: A Simple Yet Effective Method for Detecting Vulnerable Code Clones
VulCoCo retrieves candidate code clones with embeddings and validates them with an LLM, outperforming prior vulnerable-clone detectors on a new synthetic benchmark and finding real-world clones that led to 15 CVEs.
Discussion (0). Continue with ORCID to comment.