SPI: Automated Identification of Security Patches via Commits
Not on the map. Why?
Abstract (arXiv)
Security patches in open-source software, providing security fixes to identified vulnerabilities, are crucial in protecting against cyberattacks. Despite the National Vulnerability Database (NVD) publishes identified vulnerabilities, a vast majority of vulnerabilities and their corresponding security patches remain beyond public exposure, e.g., in the open-source libraries that are heavily relied on by developers. An extensive security patches dataset could help end-users such as security companies, e.g., building a security knowledge base, or researchers, e.g., aiding in vulnerability research. To curate security patches including undisclosed patches at a large scale and low cost, we propose a deep neural-network-based approach built upon commits of open-source repositories. We build security patch datasets that include 38,291 security-related commits and 1,045 CVE patches from four C libraries. We manually verify each commit, among the 38,291 security-related commits, to determine if they are security-related. We devise a deep learning-based security patch identification system that consists of two neural networks: one commit-message neural network that utilizes pretrained word representations learned from our commits dataset; and one code-revision neural network that takes code before and after revision and learns the distinction on the statement level. Our evaluation results show that our system outperforms SVM and K-fold stacking algorithm, achieving as high as 87.93% F1-score and precision of 86.24%. We deployed our pipeline and learned model in an industrial production environment to evaluate the generalization ability of our approach. The industrial dataset consists of 298,917 commits from 410 new libraries that range from a wide functionality. Our experiment results and observation proved that our approach identifies security patches effectively among open-sourced projects.
Key facts. Cited by 19 papers in the map (data through 7 Oct 2026). First posted on arXiv 30 May 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 3; 2023: 4; 2024: 5; 2025: 3; 2026: 2.
19 papers.
Sort:
By area:
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Searchcited by 15
- 2022VulCurator: A Vulnerability-Fixing Commit Detectorcited by 11
- 2023Just-in-Time Detection of Silent Security Patchescited by 7
- 2022Learning Program Semantics with Code Representations: An Empirical Studycited by 6
- 2022CommitBART: A Large Pre-trained Model for GitHub Commitscited by 6
- 2024EvalSVA: Multi-Agent Evaluators for Next-Gen Software Vulnerability Assessmentcited by 6
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testingcited by 5
- 2023Multi-Granularity Detector for Vulnerability Fixescited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Backcited by 3
- 2024Repository-Level Graph Representation Learning for Enhanced Security Patch Detectioncited by 3
- 2026Will It Survive? Deciphering the Fate of AI-Generated Code in Open Sourcecited by 3
7 more
- 2021Cross-Lingual Transfer Learning for Statistical Type Inferencecited by 2
- 2024PatchFinder: A Two-Phase Approach to Security Patch Tracing for Disclosed Vulnerabilities in Open-Source Softwarecited by 2
- 2025What Do They Fix? LLM-Aided Categorization of Security Patches for Critical Memory Bugscited by 1
- 2025From LLMs to Agents: A Comparative Evaluation of LLMs and LLM-based Agents in Security Patch Detectioncited by 1
- 2023Detecting Security Patches via Behavioral Data in Code Repositoriescited by 0
- 2025REFN: A Reinforcement-Learning-From-Network Framework against 1-day/n-day Exploitationscited by 0
- 2026A Comprehensive Evaluation of Code Language Models for Security Patch Detectioncited by 0
- 2026A Comprehensive Evaluation of Code Language Models for Security Patch Detection13 May 2026
- 2026Will It Survive? Deciphering the Fate of AI-Generated Code in Open Source23 Jan 2026
- 2025From LLMs to Agents: A Comparative Evaluation of LLMs and LLM-based Agents in Security Patch Detection11 Nov 2025
- 2025What Do They Fix? LLM-Aided Categorization of Security Patches for Critical Memory Bugs26 Sep 2025
- 2025REFN: A Reinforcement-Learning-From-Network Framework against 1-day/n-day Exploitations14 Aug 2025
- 2024EvalSVA: Multi-Agent Evaluators for Next-Gen Software Vulnerability Assessment11 Dec 2024
- 2024Repository-Level Graph Representation Learning for Enhanced Security Patch Detection11 Dec 2024
- 2024PatchFinder: A Two-Phase Approach to Security Patch Tracing for Disclosed Vulnerabilities in Open-Source Software24 Jul 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing19 Feb 2024
- 2023Just-in-Time Detection of Silent Security Patches2 Dec 2023
- 2023Multi-Granularity Detector for Vulnerability Fixes23 May 2023
7 more
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Back8 Feb 2023
- 2023Detecting Security Patches via Behavioral Data in Code Repositories4 Feb 2023
- 2022VulCurator: A Vulnerability-Fixing Commit Detector7 Sep 2022
- 2022CommitBART: A Large Pre-trained Model for GitHub Commits17 Aug 2022
- 2022Learning Program Semantics with Code Representations: An Empirical Study22 Mar 2022
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Search4 Nov 2021
- 2021Cross-Lingual Transfer Learning for Statistical Type Inference1 Jul 2021
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Searchcited by 15
- 2022VulCurator: A Vulnerability-Fixing Commit Detectorcited by 11
- 2023Just-in-Time Detection of Silent Security Patchescited by 7
- 2022Learning Program Semantics with Code Representations: An Empirical Studycited by 6
- 2022CommitBART: A Large Pre-trained Model for GitHub Commitscited by 6
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testingcited by 5
- 2023Multi-Granularity Detector for Vulnerability Fixescited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Backcited by 3
- 2024Repository-Level Graph Representation Learning for Enhanced Security Patch Detectioncited by 3
- 2026Will It Survive? Deciphering the Fate of AI-Generated Code in Open Sourcecited by 3
- 2021Cross-Lingual Transfer Learning for Statistical Type Inferencecited by 2
12 most cited of 17 All 17 (JSON)
- 2026A Comprehensive Evaluation of Code Language Models for Security Patch Detection13 May 2026
- 2026Will It Survive? Deciphering the Fate of AI-Generated Code in Open Source23 Jan 2026
- 2025What Do They Fix? LLM-Aided Categorization of Security Patches for Critical Memory Bugs26 Sep 2025
- 2025REFN: A Reinforcement-Learning-From-Network Framework against 1-day/n-day Exploitations14 Aug 2025
- 2024Repository-Level Graph Representation Learning for Enhanced Security Patch Detection11 Dec 2024
- 2024PatchFinder: A Two-Phase Approach to Security Patch Tracing for Disclosed Vulnerabilities in Open-Source Software24 Jul 2024
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2024Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing19 Feb 2024
- 2023Just-in-Time Detection of Silent Security Patches2 Dec 2023
- 2023Multi-Granularity Detector for Vulnerability Fixes23 May 2023
- 2023CCRep: Learning Code Change Representations via Pre-Trained Code Model and Query Back8 Feb 2023
- 2023Detecting Security Patches via Behavioral Data in Code Repositories4 Feb 2023
12 newest of 17 All 17 (JSON)