VulFinder: A Multi-Agent-Driven Test Generation Framework for Guiding Vulnerability Reachability Analysis

IF 1.4 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
IET Software Pub Date : 2026-06-07 DOI:10.1049/sfw2/6602283
Yu Zhao, Yiren Zhou, Jian Xie, Zhiqiu Huang, Lina Gong
{"title":"VulFinder: A Multi-Agent-Driven Test Generation Framework for Guiding Vulnerability Reachability Analysis","authors":"Yu Zhao,&nbsp;Yiren Zhou,&nbsp;Jian Xie,&nbsp;Zhiqiu Huang,&nbsp;Lina Gong","doi":"10.1049/sfw2/6602283","DOIUrl":null,"url":null,"abstract":"<p>Software engineering promotes the reuse of software components to accelerate the development process; however, reusing third-party components in AI4SE’s software supply chain (SSC) can introduce vulnerability risks. Once a new vulnerability in a third-party component emerges, developers need to determine whether the current project is affected by the vulnerability, that is, assess the vulnerability reachability issue in the SSC, which requires a significant amount of manpower and resources for assessment. To address this issue, we propose VulFinder, a multi-agent-driven framework for automated vulnerability reachability validation. VulFinder begins by using static code analysis tools to construct function call paths between downstream applications and dependency vulnerability APIs. Leveraging a multi-agent mechanism comprising a distillator, discriminator, generator, and validator, VulFinder iteratively generates exploit tests for methods along the call graph, effectively validating vulnerability reachability by executing these tests on downstream applications. We evaluate the performance of VulFinder across different programming language ecosystems, which were constructed from vulnerability datasets for Java and Python. Experiments show that VulFinder achieves 21% accuracy improvement over the state-of-the-art tool VESTA and a 7% accuracy improvement over the popular baseline tool TRANSFER on the Java dataset and also demonstrates robust generalizability on the Python dataset, significantly reducing false positives and false negatives and delivering an average efficiency improvement of over 1.5 times. We recommend that researchers and practitioners use VulFinder in practice, which integrates the code comprehension capabilities of large language models (LLMs) with the multi-agent framework to reduce false alarms and missed alarms in the reachability of vulnerabilities in SSC.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"2026 1","pages":""},"PeriodicalIF":1.4000,"publicationDate":"2026-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2/6602283","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IET Software","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1049/sfw2/6602283","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Software engineering promotes the reuse of software components to accelerate the development process; however, reusing third-party components in AI4SE’s software supply chain (SSC) can introduce vulnerability risks. Once a new vulnerability in a third-party component emerges, developers need to determine whether the current project is affected by the vulnerability, that is, assess the vulnerability reachability issue in the SSC, which requires a significant amount of manpower and resources for assessment. To address this issue, we propose VulFinder, a multi-agent-driven framework for automated vulnerability reachability validation. VulFinder begins by using static code analysis tools to construct function call paths between downstream applications and dependency vulnerability APIs. Leveraging a multi-agent mechanism comprising a distillator, discriminator, generator, and validator, VulFinder iteratively generates exploit tests for methods along the call graph, effectively validating vulnerability reachability by executing these tests on downstream applications. We evaluate the performance of VulFinder across different programming language ecosystems, which were constructed from vulnerability datasets for Java and Python. Experiments show that VulFinder achieves 21% accuracy improvement over the state-of-the-art tool VESTA and a 7% accuracy improvement over the popular baseline tool TRANSFER on the Java dataset and also demonstrates robust generalizability on the Python dataset, significantly reducing false positives and false negatives and delivering an average efficiency improvement of over 1.5 times. We recommend that researchers and practitioners use VulFinder in practice, which integrates the code comprehension capabilities of large language models (LLMs) with the multi-agent framework to reduce false alarms and missed alarms in the reachability of vulnerabilities in SSC.

Abstract Image

VulFinder:用于指导漏洞可达性分析的多代理驱动测试生成框架
软件工程促进软件组件的重用,以加速开发过程;然而,在AI4SE的软件供应链(SSC)中重用第三方组件可能会引入漏洞风险。一旦第三方组件中出现新的漏洞,开发人员需要确定当前项目是否受到该漏洞的影响,即在SSC中评估漏洞可达性问题,这需要大量的人力和资源进行评估。为了解决这个问题,我们提出了VulFinder,这是一个多代理驱动的框架,用于自动漏洞可达性验证。VulFinder首先使用静态代码分析工具在下游应用程序和依赖漏洞api之间构建函数调用路径。利用由蒸馏器、鉴别器、生成器和验证器组成的多代理机制,VulFinder沿着调用图迭代地为方法生成利用测试,通过在下游应用程序上执行这些测试,有效地验证漏洞的可达性。我们评估了VulFinder在不同编程语言生态系统中的性能,这些生态系统是根据Java和Python的漏洞数据集构建的。实验表明,VulFinder在Java数据集上比最先进的工具VESTA的准确率提高了21%,比流行的基线工具TRANSFER的准确率提高了7%,并且在Python数据集上也表现出了强大的泛化能力,显著减少了误报和误报,平均效率提高了1.5倍以上。我们建议研究人员和从业者在实践中使用VulFinder,它将大型语言模型(llm)的代码理解能力与多智能体框架相结合,以减少SSC漏洞可达性中的虚警和漏警。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
IET Software
IET Software 工程技术-计算机:软件工程
CiteScore
4.20
自引率
0.00%
发文量
27
审稿时长
9 months
期刊介绍: IET Software publishes papers on all aspects of the software lifecycle, including design, development, implementation and maintenance. The focus of the journal is on the methods used to develop and maintain software, and their practical application. Authors are especially encouraged to submit papers on the following topics, although papers on all aspects of software engineering are welcome: Software and systems requirements engineering Formal methods, design methods, practice and experience Software architecture, aspect and object orientation, reuse and re-engineering Testing, verification and validation techniques Software dependability and measurement Human systems engineering and human-computer interaction Knowledge engineering; expert and knowledge-based systems, intelligent agents Information systems engineering Application of software engineering in industry and commerce Software engineering technology transfer Management of software development Theoretical aspects of software development Machine learning Big data and big code Cloud computing Current Special Issue. Call for papers: Knowledge Discovery for Software Development - https://digital-library.theiet.org/files/IET_SEN_CFP_KDSD.pdf Big Data Analytics for Sustainable Software Development - https://digital-library.theiet.org/files/IET_SEN_CFP_BDASSD.pdf
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书