Towards Scalable and Cost-Efficient Vulnerability Detection: A Study on Automatic Query Generation
Singapore Management University(新加坡管理大学);Monash University(蒙纳士大学);University of Sydney(悉尼大学)
本研究利用国家漏洞数据库数据,实证评估大型语言模型自动生成CodeQL查询的能力,结果显示其显著提升基线查询,平均F1分数提高82%,并证明该方法是大规模漏洞检测中可扩展且成本高效的替代方案。
2026-09-10 cs.CR cs.SE
CRepair: CVAE-based Automatic Vulnerability Repair Technology
Nanning Normal University(南宁师范大学)
针对现有漏洞修复方法忽略代码多样特征且定位不精确的问题,本文提出基于CVAE的CRepair技术,通过提示预处理、因果推断和多样本融合实现自动修复,实验显示完美修复率达52%。
2024-11-08 cs.AI cs.SE
CleanVul: Automatic Function-Level Vulnerability Detection in Code Commits Using LLM Heuristics
本文提出CleanVul,一种利用LLM和启发式方法自动识别漏洞修复变更并构建高质量函数级漏洞数据集的方法,实验表明其训练的模型准确性和泛化能力优于未清洗数据集。
2025-09-11 cs.CR cs.SE
Sifting the Noise: A Comparative Study of LLM Agents in Vulnerability False Positive Filtering
Monash University(莫纳什大学)
本文比较了三种先进的LLM代理框架在漏洞假阳性过滤中的性能,展示了LLM代理在减少SAST噪声方面的有效性,但指出其效果依赖于模型和漏洞类型,且存在计算成本差异。
2026-07-24 cs.SE
AutoMESC: Automatic Framework for Mining and Classifying Ethereum Smart Contract Vulnerabilities and Their Fixes
由于智能合约中的漏洞所带来的风险,其安全性近年来受到了极大的关注。然而,缺乏关于智能合约漏洞及其修复的开放数据集,从而可以进行数据驱动的研究。为此,我们提出了一种自动化方法,用于从GitHub和国家漏洞数据库中的常见漏洞和暴露(CVE)记录中挖掘和分类以太坊的智能合约漏洞及其相应的修复。我们在一个完全自动化的框架中实现了所提出的方法,我们称之为AutoMESC。AutoMESC使用七种最知名的智能合约安全工具,根据漏洞类型对收集到的漏洞进行分类和标记。此外,它还收集可用于数据密集型智能合约安全研究的元数据(例如,漏洞检测、漏洞分类、严重性预测和自动修复)。我们使用AutoMESC构建了一个样本数据集,并将其公开。目前,该数据集包含6700个以Solidity编写的智能合约的可行性修复对。我们从准确性、来源和相关性方面评估了构建数据集的质量,并将其与现有数据集进行比较。AutoMESC旨在持续收集数据,并通过GitHub和CVE记录中新发现的智能合约漏洞及其修复程序来更新相应的数据集。
2022-12-20 cs.CR cs.SE
Automatic feature learning for vulnerability prediction
代码缺陷或漏洞在软件系统中普遍存在,并可能导致各种问题,包括死锁、信息丢失或系统故障。已经开发了各种方法来尝试和检测大型代码库中此类代码漏洞的最可能位置。它们中的大多数依赖于手动设计代表代码特征的功能(例如复杂性度量或代码令牌的频率)。然而,所有这些都面临着充分捕获源代码的语义和语法表示的挑战,这是构建准确预测模型的重要能力。在本文中,我们描述了一种新的方法,建立在强大的深度学习长短期记忆模型之上,可以自动学习代码中的语义和语法特征。我们对18个Android应用程序的评估表明,从我们学习的功能中获得的预测能力等于甚至优于最先进的漏洞预测模型:项目内预测提高了3%-58%,跨项目预测提高了85%。
2017-08-08 cs.SE
CVEfixes: Automated Collection of Vulnerabilities and Their Fixes from Open-Source Software
Simula Research Laboratory(西莫拉研究实验室)
对源代码中安全漏洞的自动发现和修复进行数据驱动的研究需要真实易受攻击的代码及其修复的全面数据集。为了帮助这样的研究,我们提出了一种方法来自动收集和策划一个全面的漏洞数据集,从公共的国家漏洞数据库(NVD)中的常见漏洞和暴露(CVE)记录。我们在一个完全自动化的数据集收集工具中实现了我们的方法,并分享了名为CVEfixes的漏洞数据集的初始版本。CVEfixes收集工具自动从NVD获取所有可用的CVE记录,从相关的开源存储库收集易受攻击的代码和相应的修复程序,并将收集到的信息组织到关系数据库中。此外,数据集还包含了诸如程序设计语言等元数据,以及五个抽象级别的详细代码和安全度量。该集合可以很容易地重复,以保持最新的新发现或修补的漏洞。CVE修复的初始版本涵盖了截至2021年6月9日的所有已发布的CVE,涵盖了1754个开源项目的5365条CVE记录,这些项目在总共5495次漏洞修复提交中得到了解决。CVEfixes支持各种类型的数据驱动的软件安全研究,例如漏洞预测,漏洞分类,漏洞严重性预测,分析与安全性相关的代码更改以及自动漏洞修复。
2021-07-19 cs.AI cs.CR cs.LG
DeepCVA: Automated Commit-level Vulnerability Assessment with Deep Multi-task Learning
CREST - The Centre for Research on Engineering Software Technologies, The University of Adelaide(CREST - 工程软件技术研究中心,阿德莱德大学);Cyber Security Cooperative Research Centre(网络安全合作研究中心)
越来越多的人建议识别代码提交中的软件漏洞(SV),以提前警告潜在的安全风险。然而,在检测到对安全性有贡献的提交后,缺乏对它们进行评估的努力,以及时提供有关SV的可利用性、影响和严重性的信息。这些信息对于规划和优先考虑已识别SV的缓解措施非常重要。我们提出了一种新的深度多任务学习模型DeepCVA,基于通用漏洞评分系统(CVSS)指标同时自动执行七个提交级漏洞评估任务。我们对246个真实软件项目中包含542个不同SV的1,229个可扩展性贡献提交进行了大规模实验,以评估我们模型的有效性和效率。我们发现DeepCVA是性能最好的模型,马修斯相关系数比许多监督和无监督基线模型高出38%至59.8%。DeepCVA所需的训练和验证时间比七个累积评估模型少6.3倍,从而大大降低了模型维护成本。总的来说,DeepCVA提供了第一个有效和高效的解决方案,可以在软件系统的早期自动评估SV。
2021-08-18 cs.CR cs.LG cs.SE
Eth2Vec: Learning Contract-Wide Code Representations for Vulnerability Detection on Ethereum Smart Contracts
Osaka University(大阪大学);National Institute of Technology, Nara College(奈良工业高等专门学校)
以太坊智能合约是在以太坊区块链上运行的程序,在过去十年中发现了许多智能合约漏洞。已经创建了许多安全分析工具来检测此类漏洞,但是当要分析的代码被重写时,它们的性能急剧下降。在本文中,我们提出了Eth2Vec,这是一种基于机器学习的静态分析工具,用于漏洞检测,对智能合约中的代码重写具有鲁棒性。现有的基于机器学习的漏洞检测静态分析工具需要分析人员手动创建的特征作为输入。相比之下,Eth2Vec通过用于语言处理的神经网络自动学习具有隐性知识的易受攻击的以太坊虚拟机(EVM)字节码的特征。因此,Eth2Vec可以通过比较目标EVM字节码与其已经学习的EVM字节码之间的代码相似度来检测智能合约中的漏洞。我们对现有的开放数据库(如Etherscan)进行了实验,结果表明Eth2Vec在众所周知的指标方面优于现有的工作,即,精确度、召回率和F1分数。此外,Eth2Vec甚至可以检测重写代码中的漏洞。
2021-01-08 cs.CR cs.LG cs.SE
Literature review on vulnerability detection using NLP technology
Hangzhou University of Electronic Science and Technology(杭州电子科技大学)
漏洞检测一直是软件安全领域最重要的任务。随着技术的发展,面对海量的源代码,自动分析和检测漏洞已成为当前的研究热点。对于源代码这样的特殊文本文件,利用当前最热门的一些自然语言处理技术进行建模,实现对源代码的自动分析和检测,已经成为漏洞检测领域最值得期待的研究之一。本文简要介绍了CodeBERT等一些新的文档和技术,并对以前的技术进行了总结。
2021-04-23 cs.AI cs.CR cs.SE
IntelliGen: Automatic Driver Synthesis for FuzzTesting
Fuzzing是一种广泛应用于漏洞检测的技术。这个过程通常涉及编写有效的模糊驱动程序,如果手动完成,可能会非常劳动密集型。以前的自动化尝试在自动化程度或产出质量方面都有许多不足之处。在本文中,我们提出了智能,自动构建有效的模糊驱动程序的框架。首先,IntelliGen确定一组入口函数,并评估它们各自表现出漏洞的可能性。然后,IntelliGen通过分层参数替换和类型推断为入口函数生成模糊驱动程序。我们实现了智能并评估了其在现实世界中的程序从Android开源项目,谷歌的模糊测试套件和工业合作者选择的有效性。与最先进的模糊驱动合成器FUDGE和FuzzGen相比,IntelliGen平均覆盖了1.08 - 2.03倍的基本块和1.36 - 2.06倍的路径。IntelliGen的性能与手动编写的驱动程序相当,并发现了10个以上的错误。
2021-03-01 cs.CR cs.SE
Ghera: A Repository of Android App Vulnerability Benchmarks
移动应用程序的安全性影响其用户的安全。这推动了自动检测移动应用程序中的漏洞并帮助开发人员保护其应用程序的技术的发展;特别是在Android平台的背景下,由于平台的开放性和普遍性。尽管在这一领域进行了大量的研究工作,但没有包含大多数已知Android应用程序漏洞的最新和精简基准的综合存储库,因此,可以用于严格评估现有和新的漏洞检测技术,并帮助开发人员了解Android应用程序漏洞。在本文中,我们描述了Ghera,一个开源的基准测试库,它捕获了Android应用程序中的25个已知漏洞(作为被利用/良性和利用/恶意应用程序对)。我们还介绍了我们在创建Ghera时发现的漏洞基准和存储库的理想特征。
2017-08-08 cs.CR cs.SE
Localizing Patch Points From One Exploit
自动补丁生成可以显著减少漏洞暴露后的窗口。为了实现这一目标,一个长期存在的问题是补丁本地化:找到一个程序点,在该程序点可以合成补丁。我们提出PatchLoc,自动识别这样的位置在一个脆弱的二进制文件的第一个系统之一,只要一个漏洞,具有很高的准确性。PatchLoc不会对源代码、测试套件或漏洞的专业知识的可用性做出任何假设。PatchLoc在我们研究的43个CVE中,约有88%具有高精度,在大型现实应用中精确定位有效的补丁位置。这些结果源于一种新的方法来自动合成一个测试套件,使概率排名和有效地区分候选程序补丁的位置。
2020-08-11 cs.CR cs.SE
A Ground-Truth-Based Evaluation of Vulnerability Detection Across Multiple Ecosystems
University of Applied Sciences Munich(慕尼黑应用科学大学);Findustrial
本文基于真实数据集评估多生态系统中漏洞检测工具的差异,展示了透明数据集构建对可重复安全研究的重要性。
2026-04-22 cs.CR cs.SE
VulZoo: A Comprehensive Vulnerability Intelligence Dataset
本文提出全面漏洞情报数据集VulZoo,涵盖17个流行信息源并构建数据连接,提供自动化脚本,解决了现有漏洞评估技术数据准备重复且缺乏全局概览的问题。
2024-09-24 cs.CR cs.SE
VUDENC: Vulnerability Detection with Deep Learning on a Natural Codebase for Python
Humboldt-Universität zu Berlin(柏林洪堡大学);University of Paderborn(帕德博恩大学);University of Bern(伯尔尼大学)
识别潜在的易受攻击的代码对于提高我们软件系统的安全性非常重要。然而,软件漏洞的手动检测需要专业知识并且是耗时的,并且必须由自动化技术支持。目的:这种自动化漏洞检测技术应该实现高准确性,将开发人员直接指向易受攻击的代码片段,扩展到真实世界的软件,跨特定软件项目的边界进行概括,并且不需要或仅需要适度的设置或配置工作。方法:在本文中,我们将介绍VUDENC(Vulnerability Detection with深度学习on a Natural Codebase),这是一个基于深度学习的漏洞检测工具,可以自动从大型真实Python代码库中学习易受攻击代码的特征。VUDENC应用word 2 vec模型来识别语义相似的代码标记并提供矢量表示。然后,使用长短期记忆单元(LSTM)网络对易受攻击的代码令牌序列进行细粒度分类,突出显示源代码中可能包含漏洞的特定区域,并为其预测提供置信度。结果如下:为了评估VUDENC,我们使用了来自不同GitHub存储库的1,009个可修复性提交,这些存储库包含七种不同类型的漏洞(SQL注入,XSS,命令注入,XSRF,远程代码执行,路径泄露,Open重定向)用于培训。在实验评测中,VUDENC的召回率为78%-87%,准确率为82%-96%,F1评分为80%-90%。VUDENC的代码、漏洞的数据集和word 2 vec模型的Python语料库都可以复制。结论…
2022-01-20 cs.CR cs.LG cs.SE
Learning to map source code to software vulnerability using code-as-a-graph
IBM Research(IBM研究院)
我们从安全的角度探讨了图神经网络在学习源代码的细微差别方面的适用性。具体来说,源代码中的漏洞签名是否可以从其图表示中学习,根据节点和边缘之间的关系。我们创建了一个称为AI4VA的管道,它首先将示例源代码编码为代码属性图。然后以保留其语义信息的方式对所提取的图进行矢量化。然后,使用多个此类图来训练门控图神经网络,以自动提取区分脆弱样本图和健康样本图的模板。我们的模型在我们实验的三个数据集中的两个数据集上优于静态分析器,经典机器学习以及基于CNN和RNN的深度学习模型。因此,我们表明,代码作为图形编码是更有意义的漏洞检测比现有的代码作为照片和线性序列编码方法。(2019年10月提交,论文#28,ICST)
2020-06-15 cs.CR cs.LG cs.PL
HFContractFuzzer: Fuzzing Hyperledger Fabric Smart Contracts for Vulnerability Detection
区块链技术凭借其去中心化、不可变性等独特优势,近年来在各个领域得到广泛应用。运行在区块链上的智能合约也在去中心化应用场景中发挥着越来越重要的作用。因此,智能合约安全漏洞的自动检测成为区块链技术应用中亟待解决的问题。Hyperledger Fabric是一个基于企业级许可分布式账本技术的智能合约平台。然而,Hyperledger Fabric智能合约的漏洞检测技术研究仍处于起步阶段。在本文中,我们提出了HFContractFuzzer,这是一种基于Fuzzing技术来检测Hyperledger Fabric智能合约的方法,它结合了一个名为go-fuzz的golang Fuzzing工具和golang编写的智能合约。我们使用HFContractFuzzer从典型的来源中检测出五个合同中的漏洞,发现其中四个存在安全漏洞,证明了所提出的方法的有效性。
2021-06-21 cs.CR cs.SE
Feature Engineering-Based Detection of Buffer Overflow Vulnerability in Source Code Using Neural Networks
Kennesaw State University(肯尼索州立大学);Marquette University(马凯特大学);University of Calabria(卡拉布里亚大学)
本研究针对软件源代码缓冲区溢出漏洞检测问题,基于特征工程结合多种词嵌入算法与神经网络模型,提出可扩展的检测方法并开展对比验证。
2023-06-01 cs.CR cs.LG cs.SE
Deep Learning Aided Software Vulnerability Detection: A Survey
本综述分析了2017至2024年34项相关研究,首次引入“漏洞检测生命周期”框架,系统比较基于深度学习的软件漏洞检测方法,探讨各阶段关键问题与挑战,为未来该领域的深度学习应用提供指导。
2025-03-06 cs.CR cs.SE
ConsiDroid: A Concolic-based Tool for Detecting SQL Injection Vulnerability in Android Apps
在本文中,我们提出了一个concolic执行技术,用于检测Android应用程序中的SQL注入漏洞,我们称之为ConsiDroid的新工具。我们使用mocking技术扩展应用程序的源代码,这样原始源代码的执行不受影响。扩展的源代码可以被视为Java应用程序,并且可以由SPF以concolic执行来执行。我们自动地从静态分析中生成一个DummyMain类,以便按顺序调用基本函数,并触发导致易受攻击函数的事件。我们在ConsiDroid中使用污点分析扩展SPF。为了使污点分析成为可能,我们引入了一种新的符号模拟类技术,以减轻污染值在代码中的传播。SQL注入漏洞是通过接收易受攻击的函数的污染值来检测的。此外,ConsiDroid还利用静态分析来调整SPF,以便只检查可疑路径。为了说明ConsiDroid的适用性,我们从F-Droid存储库中随机选择了140个应用程序。从这些应用程序中,我们发现了三个容易受到SQL注入攻击的应用程序。为了验证它们的漏洞,我们使用Robolectric根据ConsiDroid的报告手动分析了这些应用程序。
2019-08-08 cs.CR cs.SE
A Sentence-Level Approach to Understanding Software Vulnerability Fixes
本文提出由VulnExtract与VulnTrace组成的端到端句子级追溯方法,将漏洞相关自然语言句子映射到代码语句,实验证明其可有效支持自动化漏洞理解。
2025-03-13 cs.SE
CHRONOS: Time-Aware Zero-Shot Identification of Libraries from Vulnerability Reports
针对漏洞报告库识别中因忽略时间顺序导致XML技术性能下降的问题,提出基于零样本学习的CHRONOS方法,通过考虑时间顺序、数据增强和缓存机制提升实际场景下的识别效果。
2023-07-29 cs.CR cs.SE
Prompt-Enhanced Software Vulnerability Detection Using ChatGPT
针对现有ChatGPT漏洞检测研究提示词设计简单的问题,本文通过改进基础提示、引入辅助信息、利用多轮对话记忆优化提示词,在两个数据集上验证了提示增强方法的有效性,并分析了其优缺点。
2024-04-12 cs.SE
SCALE: Constructing Structured Natural Language Comment Trees for Software Vulnerability Detection
SCALE框架通过构建结构化自然语言注释树,将代码语句语义与执行序列融入预训练模型,以提升软件漏洞检测能力。
2024-03-28 cs.CR cs.SE
Large Language Models Cannot Reliably Detect Vulnerabilities in JavaScript: The First Systematic Benchmark and Evaluation
Lanzhou University(兰州大学);Zhejiang University(浙江大学);Beihang University(北京航空航天大学);Technology Support Center of the Cyberspace Administration of China(国家互联网信息办公室技术支撑中心);Fudan University(复旦大学);Beijing University of Posts(北京邮电大学)
本文首次提出FORGEJS框架,构建首个系统性JavaScript漏洞检测基准ARENAJS,并揭示LLM在漏洞检测中的局限性。
2025-12-01 cs.CL cs.CR cs.SE
From LLMs to Agents: A Comparative Evaluation of LLMs and LLM-based Agents in Security Patch Detection
School of Computer and Computing Science, Hangzhou City University(杭州城市大学计算机与计算科学学院);College of Computer Science and Technology, Huazhong University of Science and Technology(华中科技大学计算机科学与技术学院)
针对开源软件安全补丁检测中LLMs与LLM智能体评估不足的问题,本文通过评估三种方法(Plain LLM、Data-Aug LLM、ReAct Agent)及商业/开源LLMs,发现Data-Aug LLM性能最优、ReAct Agent假阳性率最低,为其实际应用提供参考。
2025-11-11 cs.CR cs.SE
Automatically Detecting API-induced Compatibility Issues in Android Apps: A Comparative Analysis (Replicability Study)
碎片化是Android生态系统中的一个严重问题。这一问题主要是由于系统本身的快速演进以及不同智能手机制造商独立维护的各种定制造成的。许多努力都试图通过自动查明Android应用程序中的兼容性问题的方法来减轻其影响。不幸的是,在现阶段,这一目标是否已经实现仍然是未知的,现有的方法确实可以复制和可靠地利用来查明野外的兼容性问题。因此,我们建议填补这一空白,首先进行文献综述,确定所有可用的方法。在所确定的九种方法中,我们尽最大努力根据原始数据集再现它们。在此之后,我们更进一步,将这些方法与常见数据集和包含兼容性问题的真实应用程序进行经验比较。实验结果表明,现有的工具确实可以复制,但它们的能力是相当不同的,证实了这一事实,即只有一个小的重叠所选择的工具报告的结果。这一证据表明,我们的社区应该付出更多的努力来实现声音兼容性问题的检测。
2022-05-31 cs.SE
Automatic Detection of LLM-Generated Code: A Comparative Case Study of Contemporary Models Across Function and Class Granularities
Concordia University(康科迪亚大学);University of Calgary(卡尔加里大学)
本文通过比较四个大语言模型在函数和类粒度上的代码生成能力,发现粒度效应主导模型差异,且不同模型在不同粒度上的检测性能存在显著差异。
2025-12-22 cs.AI cs.LG cs.SE
Leveraging Large Language Models for Command Injection Vulnerability Analysis in Python: An Empirical Study on Popular Open-Source Projects
Louisiana State University(路易斯安那州立大学)
本实证研究针对Python命令注入漏洞检测问题,将GPT-4等大语言模型应用于6个星标超5万的知名开源项目,评估其检测的准确率、效率与 workflow 适配性,对比不同LLM工具的适用性,为利用LLM提升软件安全提供指导。
2025-05-21 cs.AI cs.CR cs.SE
UntrustVul: An Automated Approach for Identifying Untrustworthy Alerts in Vulnerability Detection Models
本文提出UntrustVul方法,通过识别与漏洞无关的代码行来自动检测不可信的漏洞预测,实验表明其在AUC和F1-score上优于现有方法。
2026-05-15 cs.SE
An Empirically-grounded tool for Automatic Prompt Linting and Repair: A Case Study on Bias, Vulnerability, and Optimization in Developer Prompts
University of Michigan-Dearborn(密歇根大学迪尔伯恩分校);University of Wisconsin-Madison(威斯康星大学麦迪逊分校);Microsoft(微软公司)
针对开发者提示词中的偏见、漏洞和性能问题,提出PromptDoctor工具,能自动检测并修复,实验表明可去除68.29%偏见、加固41.81%漏洞并提升37.1%性能,还提供VSCode扩展。
2025-01-21 cs.AI cs.SE
Vulnerability-Hunter: An Adaptive Feature Perception Attention Network for Smart Contract Vulnerabilities
针对智能合约漏洞检测中预定义规则适应性差的问题,本文提出AFPNet,通过动态权重特征感知模块自动提取关键代码片段,并结合关系感知注意力机制学习片段依赖,在多个大规模数据集上显著提升了F1-score。
2024-07-07 cs.CR cs.SE
Vul-R2: A Reasoning LLM for Automated Vulnerability Repair
Tencent Inc.(腾讯公司);Department of Computer Science, City University of Hong Kong(香港城市大学计算机科学系);Department of Computer Science and Engineering, The Chinese University of Hong Kong(香港中文大学计算机科学与工程系)
针对现有LLM直接生成漏洞修复缺乏推理数据且难以验证中间过程的问题,提出Vul-R2推理大模型,以提升自动化漏洞修复的性能与可靠性。
2025-10-07 cs.AI cs.SE
LLM4CVE: Enabling Iterative Automated Vulnerability Repair with Large Language Models
本文提出LLM4CVE迭代流水线,利用大语言模型自动修复真实代码漏洞,并在多种先进LLM上验证其修复质量与代码相似度。
2025-01-07 cs.CR cs.SE
When Less is Enough: Positive and Unlabeled Learning Model for Vulnerability Detection
Harbin Institute of Technology(哈尔滨工业大学);Central University of Finance and Economics(中央财经大学);Nanyang Technological University(南洋理工大学);Peng Cheng Laboratory(鹏城实验室)
针对漏洞检测中负标签数据不可靠、标注数据质量不足的问题,提出仅用正样本和无标签数据学习的PILOT模型,通过距离感知标签选择和混合监督表示学习提升检测效果。
2023-08-21 cs.AI cs.CR cs.SE
Comparison of Static Application Security Testing Tools and Large Language Models for Repo-level Vulnerability Detection
Singapore Management University(新加坡管理大学);Hanoi University of Science and Technology(河内理工大学);The University of Melbourne(墨尔本大学);University of Melbourne(墨尔本大学)
本文比较了15种SAST工具与12种开源LLMs在Java、C和Python仓库级漏洞检测中的表现,发现集成两者可缓解SAST低检测率与LLMs高误报率的缺点。
2024-07-23 cs.AI cs.SE
Leveraging GPT-4 for Vulnerability-Witnessing Unit Test Generation
University of Szeged(塞格德大学);FrontEndART Software Ltd.(FrontEndART软件有限公司)
本研究探究GPT-4基于漏洞修复前后代码生成漏洞见证单元测试的能力,发现其语法正确率达66.5%,生成的测试模板经少量人工调整即可使用,可在半自动化测试流程中发挥重要作用。
2025-06-13 cs.AI cs.SE
One-for-All Does Not Work! Enhancing Vulnerability Detection by Mixture-of-Experts (MoE)
针对“一刀切”漏洞检测模型性能欠佳的问题,提出采用混合专家(MoE)框架的MoEVD方法,将任务分解为CWE类型分类和特定检测,显著提升F1分数及长尾漏洞检测性能。
2025-02-12 cs.SE
Software Vulnerability Detection via Deep Learning over Disaggregated Code Graph Representation
IBM Research(IBM研究院)
识别易受攻击的代码是应对软件安全漏洞的预防措施。构建静态分析器已经花费了专家们冗长的精力,但是不安全的模式几乎没有被完全列举出来。本文探索了一种深度学习的方法,从代码语料库中自动学习不安全的模式。由于代码自然承认图结构与解析,我们开发了一种新的图神经网络(GNN),利用语义上下文和结构规律的程序,以提高预测性能。与通用GNN相比,我们的增强功能包括从程序的几个解析图中学习到的多个表示的合成,以及利用标记的细粒度的新训练损失度量。我们的模型在两个真实世界的数据集上优于多种基于文本、图像和图形的方法。
2021-09-07 cs.AI cs.SE
VFDelta: A Framework for Detecting Silent Vulnerability Fixes by Enhancing Code Change Learning
提出VFDelta框架,通过独立模型嵌入变更前后代码并执行逐元素减法以捕获细粒度变更,联合训练嵌入与分类模型,在静默漏洞修复检测中显著优于现有方法。
2024-09-25 cs.SE
Automated Characterization of Software Vulnerabilities
防止漏洞利用是一项关键的软件维护任务,软件工程师通常依赖于通用漏洞和暴露(CVE)报告来获取有关易受攻击的系统和库的信息。这些报告包括描述、披露来源和手动填充的漏洞特征,例如NIST漏洞描述本体(VDO)中的根本原因。这些信息需要完整和准确,以便受影响产品的利益相关者可以防止和应对报告的漏洞的利用。然而,对每份报告进行定性需要大量的时间和专门知识,这可能导致报告不准确或不完整。这直接影响了利益相关者快速、正确地维护其受影响系统的能力。在这项研究中,我们证明,VDO的特点,可以自动检测到包括在CVE报告的文字描述。我们评估了6种分类算法的性能,数据集包含365个漏洞描述,每个描述映射到VDO的19个特征中的1个。这项工作表明,它是可行的训练分类技术,以准确地表征脆弱性,从他们的描述。评估的所有6个分类器都产生了准确的结果,支持向量机分类器是性能最好的单个分类器。自动化漏洞表征过程是确保利益相关者拥有有效维护其系统所需数据的一个步骤。
2019-09-30 cs.SE
JavaVFC: Java Vulnerability Fixing Commits from Open-source Software
本文构建并发布 JavaVFC 与 JavaVFC-extended 数据集,利用关键词启发式、多轮人工标注和大规模仓库筛选,为漏洞修复提交识别与自动修复研究提供数据基础。
2024-09-09 cs.SE
A Survey on Automated Software Vulnerability Detection Using Machine Learning and Deep Learning
针对现有ML/DL漏洞检测综述缺失的问题,本文通过五个研究问题系统综述了基于机器学习和深度学习的源代码漏洞检测方法,涵盖趋势、数据集、模型、漏洞类型及未来挑战。
2023-06-20 cs.SE
An Empirical Evaluation of LLM-Based Approaches for Code Vulnerability Detection: RAG, SFT, and Dual-Agent Systems
Department of Electrical, Computer, and Software Engineering(电气、计算机与软件工程系);Ontario Tech University(安大略技术大学)
本文通过实证评估,比较了RAG、SFT和双智能体系统在代码漏洞检测中的有效性,发现RAG在准确率和F1分数上表现最佳,SFT和双智能体系统也展示了良好的性能,证明了领域专业知识对LLM在实际漏洞检测中的重要性。
2026-01-01 cs.AI cs.SE
VulGuard: An Unified Tool for Evaluating Just-In-Time Vulnerability Prediction Models
VulGuard 是一个统一自动化工具,通过挖掘 GitHub 提交并集成多个先进 JIT-VP 模型,解决漏洞预测研究中的可复现性与可扩展性问题,并在 FFmpeg 和 Linux 内核上验证了其加速研究和标准化基准测试的潜力。
2025-07-22 cs.SE
Improving vulnerability type prediction and line-level detection via adversarial training-based data augmentation and multi-task learning
本文提出将嵌入层驱动的对抗训练(EDAT)与多任务学习(MTL)相结合的统一方法,有效解决了漏洞类型预测和行级检测中数据稀缺与类别不平衡问题,显著提升了检测性能并降低了假阳性。
2025-06-30 cs.SE
A Comparison of Different Source Code Representation Methods for Vulnerability Prediction in Python
在大数据和机器学习时代,在软件开发的技术和方法快速发展的时候,出现了一个问题:程序员再也无法手动检测代码中的所有安全缺陷和漏洞。为了克服这个问题,开发人员现在可以依靠自动技术,如基于机器学习的预测模型,来检测这些问题。这种方法的固有特性是它们与数字向量(即,特征向量)作为输入。因此,需要将源代码转换为这样的特征向量,通常称为代码嵌入。代码嵌入的一种流行方法是采用自然语言处理技术,如文本表示,以自动从源代码中获取必要的功能。然而,不同的文本表示技术解决软件工程(SE)问题的适用性和比较很少系统地研究。在本文中,我们提出了一个比较研究的三个流行的文本表示方法,word2vec,fastText,和BERT适用于检测Python代码中的漏洞的SE任务。使用数据采掘方法,我们收集了大量易受攻击和固定形式的Python源代码,我们将word2vec,fastText和BERT嵌入到向量中,并使用长短期记忆网络对其进行训练。使用相同的LSTM架构,我们可以比较不同嵌入在导出有意义的特征向量方面的效率。我们的研究结果表明,所有的文本表示方法都适用于这一特定任务中的代码表示,但BERT模型是最有前途的,因为它耗时最少,基于它的LSTM模型在预测Python源代码漏洞方面达到了最佳的整体准确率(93.8%)。
2021-08-04 cs.SE
Explaining the Contributing Factors for Vulnerability Detection in Machine Learning
Concordia University(康考迪亚大学);Stevens Institute of Technology(史蒂文斯理工学院);University of Hawaii(夏威夷大学)
本文研究不同漏洞特征表示与机器学习模型组合对17个项目漏洞检测准确性的影响,发现词袋嵌入结合随机森林的基线模型可稳定提升约4%准确率,并揭示了漏洞签名跨项目迁移的局限性。
2024-06-05 cs.AI cs.SE