Vul4Py: Benchmarking Automated Vulnerability Repair in Python with Paired Exploit and Functional Oracles
Not on the map. Why?
Abstract (arXiv)
Automated Vulnerability Repair (AVR) has advanced rapidly across program analysis, machine learning, and Large Language Models (LLMs), but a verifiable, head-to-head comparison of AVR approaches on Python is still missing. Python underpins critical web, data, and machine-learning infrastructure, yet existing Python benchmarks accept a patch on the strength of a proof-of-concept exploit alone, or apply a functional test only on the subset of entries whose upstream project happens to ship one. Both therefore miss functional regressions, in which a patch defeats the exploit but breaks unrelated behavior. We present Vul4Py, a Python AVR benchmark in which every entry carries a paired oracle: an exploit oracle that must fail on the vulnerable revision and pass on the fixed one, together with a project-native pytest functional oracle that must pass on both. Vul4Py comprises 100 real vulnerabilities from 60 open-source projects, spanning 60 distinct CWEs and the years 2017 to 2025, each packaged with a pinned, reproducible per-instance environment. Using Vul4Py, we compare six approaches in three categories: a specialized vulnerability repair tool, directly prompted LLMs, and software engineering agents. The agents dominate: OpenHands repairs 41 of 100 vulnerabilities, against 4 for the strongest directly prompted LLM and 2 for the specialized tool, despite all three sharing the same backbone model. The paired oracle is what makes these counts trustworthy: it rejects 15 of the 119 patches that an exploit-only oracle would accept, and 98 of the 104 patches it admits are manually confirmed to be semantically equivalent to the developer's patches
Key facts. Cited by 2 papers in the map (data through 7 Oct 2026). First posted on arXiv 1 Aug 2026.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2026: 2.
2 papers.
Similar, not cited
Close in wording, no citation either way
- 2025SecureFixAgent: A Hybrid LLM Agent for Automated Python Static Vulnerability Repair
- 2025Rethinking the Capability of Fine-Tuned Language Models for Automated Vulnerability Repair
- 2026Revisiting Vul-RAG: Reproducibility and Replicability of RAG-based Vulnerability Detection with Open-Weight Models
- 2026VulValidate: Auditing Function-Level Vulnerability Labels with Executable Evidence
- 2026RAVEN: Agentic RAG for Automated Vulnerability Repair
- 2026VulnGym: Benchmarking Coding Agents for Repository-Level Vulnerability Detection
- 2026VICBench: A Multi-Language Benchmark for Code Vulnerability Detection
- 2024Direction for Detection: A Survey of Automated Vulnerability Detection and all of its Pain Points