Favia: Агент судебной экспертизы для идентификации и анализа исправлений уязвимостей
Favia: Forensic Agent for Vulnerability-fix Identification and Analysis
February 13, 2026
Авторы: André Storhaug, Jiamou Sun, Jingyue Li
cs.AI
Аннотация
Идентификация коммитов, исправляющих уязвимости, соответствующих раскрытым CVE, крайне важна для обеспечения безопасной разработки программного обеспечения, но остается сложной задачей в крупных масштабах, поскольку большие репозитории содержат миллионы коммитов, и лишь малая их доля касается проблем безопасности. Существующие автоматизированные подходы, включая традиционные методы машинного обучения и недавние методы на основе больших языковых моделей (LLM), часто страдают от неоптимального баланса между точностью и полнотой. Часто оцениваемые на случайно выбранных коммитах, мы обнаруживаем, что они существенно недооценивают реальную сложность задачи, когда кандидаты уже являются релевантными для безопасности и высоко схожими. Мы предлагаем Favia, судебный агентно-ориентированный фреймворк для идентификации исправлений уязвимостей, который сочетает масштабируемое ранжирование кандидатов с глубоким и итеративным семантическим анализом. Favia сначала использует эффективную стадию ранжирования для сужения пространства поиска коммитов. Затем каждый коммит тщательно оценивается с помощью LLM-агента, основанного на парадигме ReAct. Предоставляя агенту среду в виде репозитория до коммита вместе со специализированными инструментами, агент пытается локализовать уязвимые компоненты, перемещаться по кодовой базе и устанавливать причинно-следственную связь между изменениями кода и корневыми причинами уязвимостей. Этот основанный на доказательствах процесс позволяет надежно идентифицировать косвенные, многофайловые и нетривиальные исправления, которые ускользают от одношаговых или основанных на сходстве методов. Мы оцениваем Favia на CVEVC, крупномасштабном наборе данных, который мы создали и который содержит более 8 миллионов коммитов из 3708 реальных репозиториев, и показываем, что он стабильно превосходит современные традиционные и LLM-базлайны в условиях реалистичного отбора кандидатов, демонстрируя наилучший баланс точности и полноты, а также самые высокие F1-меры.
English
Identifying vulnerability-fixing commits corresponding to disclosed CVEs is essential for secure software maintenance but remains challenging at scale, as large repositories contain millions of commits of which only a small fraction address security issues. Existing automated approaches, including traditional machine learning techniques and recent large language model (LLM)-based methods, often suffer from poor precision-recall trade-offs. Frequently evaluated on randomly sampled commits, we uncover that they are substantially underestimating real-world difficulty, where candidate commits are already security-relevant and highly similar. We propose Favia, a forensic, agent-based framework for vulnerability-fix identification that combines scalable candidate ranking with deep and iterative semantic reasoning. Favia first employs an efficient ranking stage to narrow the search space of commits. Each commit is then rigorously evaluated using a ReAct-based LLM agent. By providing the agent with a pre-commit repository as environment, along with specialized tools, the agent tries to localize vulnerable components, navigates the codebase, and establishes causal alignment between code changes and vulnerability root causes. This evidence-driven process enables robust identification of indirect, multi-file, and non-trivial fixes that elude single-pass or similarity-based methods. We evaluate Favia on CVEVC, a large-scale dataset we made that comprises over 8 million commits from 3,708 real-world repositories, and show that it consistently outperforms state-of-the-art traditional and LLM-based baselines under realistic candidate selection, achieving the strongest precision-recall trade-offs and highest F1-scores.