Less is More: Supporting Developers in Vulnerability Detection during Code Review
从安全角度审查源代码已被证明是一项艰巨的任务。事实上,以前的研究表明,开发人员在代码审查期间经常错过甚至流行和易于检测的漏洞。初步证据表明,一个重要的原因可能在于审查员的心理态度和共同的做法。在这项研究中,我们调查是否以及如何明确要求开发人员在代码审查过程中关注安全性影响漏洞的检测。此外,我们还评估了提供安全检查表来指导安全审查的效果。为此,我们进行了一项在线实验,有150名参与者,其中71%报告有三年或三年以上的专业发展经验。我们的研究结果表明,简单地要求审查人员在代码审查期间关注安全性,漏洞检测的概率增加了8倍。安全检查表的存在不会显著地进一步改善结果,即使检查表是针对所审查的变更和变更中现有的漏洞而定制的。这些结果提供了支持心理态度假设的证据,并呼吁进一步的工作,安全检查表的有效性和设计。数据和材料:https://doi.org/10.5281/zenodo.6026291
2022-02-12 cs.SE
Unintentional Security Flaws in Code: Automated Defense via Root Cause Analysis
University of Texas at San Antonio(德克萨斯大学圣安东尼奥分校)
本文针对初级开发者难以定位漏洞根因的问题,提出结合 T5 与图卷积网络的自动化根因分析工具 T5-RCGCN,实验表明其可将代码安全性提升 28.9%,并促进开发者长期安全能力成长。
2024-08-30 cs.CR cs.LG cs.SE
Why Don't Developers Detect Improper Input Validation?'; DROP TABLE Papers; --
输入验证不当(IIV)是一种软件漏洞,当系统无法安全处理输入数据时会发生此漏洞。尽管IIV很容易检测和修复,但在实践中仍然经常发生。在本文中,我们研究在何种程度上开发人员可以检测IIV和调查的根本原因。这些知识对于更好地理解如何支持开发人员创建安全的软件系统至关重要。我们与146名参与者进行了一项在线实验,其中105人至少有三年的专业软件开发经验。我们的研究结果表明,一个可见的攻击场景的存在,有利于检测IIV漏洞,很大一部分的开发人员谁没有发现漏洞最初可以识别它时,警告它的存在。然而,共有60名参与者甚至在警告后也无法检测到漏洞。其他因素,如参与者执行代码审查的频率,影响IIV的检测。数据和材料:https://doi.org/10.5281/zenodo.3996696
2021-02-11 cs.SE
Reproducibility Challenges and Their Impacts on Technical Q&A Websites: The Practitioners' Perspectives
软件开发人员通常通过向Stack Overflow(SO)等技术问答网站提交问题来寻找代码级问题的解决方案。它们通常包括示例代码段,并带有描述编程问题的问题。因此,当用户试图回答问题时,他们更喜欢使用给定的代码段重现报告的问题。不幸的是,由于几个未满足的挑战(例如,未找到外部库),这可能会阻止问题获得及时和适当的解决方案。先前的一项研究产生了一个潜在挑战的目录,这些挑战阻碍了SO问题中报告的问题的再现性。然而,目前还不清楚从业人员(即,开发人员)感知挑战目录。理解开发人员的观点是引入交互式工具支持以促进可重复性的必然要求。因此,我们试图了解开发人员的观点,调查53个用户的SO。特别是,我们试图(1)了解开发人员对这些挑战的看法,(2)发现这些挑战的潜在影响,(3)了解开发人员如何解决这些挑战,以及(4)确定工具支持需求并对其进行优先级排序。调查结果显示,约90%的参与者同意已经暴露的挑战。然而,他们报告了一些额外的挑战(例如,错误日志丢失),这可能会妨碍再现性。根据参与者的说法,太短的代码段和代码段中缺少所需的类/接口/方法严重阻碍了可重复性,其次是缺少代码的重要部分。为了促进可重复性,参与者强烈建议引入工具支持,如果给定的代码段无法重现问题,则与问题提交者进行交互,并提供改进代码段的建议。
2021-12-19 cs.SE
Hurdles for Developers in Cryptography
先前的研究表明,加密技术对于开发人员来说很难使用。我们的目标是了解开发人员在实践中面临的密码学问题。我们在Stack Overflow网站上聚集了91954个与加密相关的问题,并手动分析了一个重要的样本(即,383)了解开发人员在该领域通常面临的加密挑战。我们发现,要么开发人员在理解基本概念、\eg OpenSSL、公钥密码学或密码哈希方面明显缺乏知识,要么加密库的可用性损害了开发人员正确实现加密场景的性能。这令人震惊,并表明需要专门的研究来改进加密API的设计。
2021-08-16 cs.CR cs.SE
Exploiting Library Vulnerability via Migration Based Automating Test Generation
针对第三方库漏洞影响评估难的问题,提出基于漏洞利用代码的测试生成方法VESTA,通过新增迁移步骤提升测试与漏洞利用的相似性,在30个漏洞、60组漏洞-项目对的实验中,成功率达71.7%,较基线方法TRANSFER提升53.4%。
2023-12-15 cs.SE
Are Free Android App Security Analysis Tools Effective in Detecting Known Vulnerabilities?
人们对保护Android生态系统的兴趣日益浓厚,这催生了许多帮助应用程序开发人员构建安全应用程序的努力。这些努力产生了能够检测应用程序中的漏洞(和恶意行为)的工具和技术。然而,没有对这些工具和技术在检测已知漏洞方面的有效性进行评估。缺乏此类评估使应用程序开发人员在选择安全分析工具来保护其应用程序时处于不利地位。在这方面,我们评估了Android应用程序漏洞检测工具的有效性。我们审查了64个工具,并根据Ghera基准测试捕获的42个已知的独特漏洞对14个漏洞检测工具(附带还有5个恶意行为检测工具)进行了经验评估,这些漏洞由易受攻击的应用程序和安全应用程序组成。在评估的24个观察结果中,主要观察结果是现有的Android应用程序漏洞检测工具检测已知漏洞的能力非常有限-所有评估的工具加在一起只能检测42个已知独特漏洞中的30个。如果安全分析工具要帮助开发人员构建安全的应用程序,就需要付出更多的努力。我们希望本次评估的结果能够帮助应用程序开发人员选择合适的安全分析工具,并说服工具开发人员和研究人员识别和解决其工具和技术中的局限性。我们也希望这次评估能够在软件工程和安全社区中引发一场对话,要求对安全分析工具和技术进行更严格、更明确的评估。
2019-08-05 cs.CR cs.SE
PUMiner: Mining Security Posts from Developer Question and Answer Websites with PU Learning
School of Computer Science, The University of Adelaide(阿德莱德大学计算机学院);Cyber Security Cooperative Research Centre(网络安全合作研究中心)
安全性在软件开发中越来越受到关注。开发人员问答(Q&A)网站提供了大量的安全讨论。现有的研究使用人类定义的规则来挖掘安全讨论,但这些工作仍然遗漏了许多帖子,这可能导致对问答网站上报告的安全实践的分析不完整。传统的监督机器学习方法可以自动化挖掘过程;然而,所需的否定(非安全)类太昂贵而无法获得。我们提出了一个新的学习框架,PUMiner,自动挖掘安全的问答网站的职位。PUMiner构建了一个上下文感知的嵌入模型来提取帖子的特征,然后开发了一个两阶段的PU模型来使用标记的Positive和Unlabeled帖子识别安全内容。我们对Stack Overflow上超过1,720万条帖子和Security StackExchange上的52,611条帖子进行了PUMiner评估。我们表明,PUMiner是有效的,在所有模型配置中的验证性能至少为0.85。此外,PUMiner的Matthews相关系数(MCC)分别比一类SVM,正相似性过滤和一阶段PU模型高0.906,0.534和0.084点。PUMiner在字符串匹配完全失败的情况下也表现良好,MCC为0.745。即使当标记的正面帖子与未标记的帖子的比例仅为1:100时,PUMiner仍然实现了0.65的强大MCC,比完全监督学习好160%。使用PUMiner,我们在Q&A网站上为从业者和研究人员提供最大和最新的安全内容。
2020-03-08 cs.IR cs.LG cs.SE
LLM-based Code Auditing by Inferring and Evaluating Developer Assumptions
MPI-SP(马克斯·普朗克安全与隐私研究所);CISPA(萨姆·哈塞尔大学赛斯帕信息安全和隐私中心)
本研究提出基于大语言模型的Creed方法,通过推断评估开发者安全信念检测代码漏洞,在真实基准上实现了优于现有工具的效果-工作量权衡。
2026-10-14 cs.CR cs.SE
Example-Based Vulnerability Detection and Repair in Java Code
Java库JCA和JSSE提供了加密API以促进安全编码。当开发人员滥用某些API时,他们的代码容易受到网络攻击。为了消除这些漏洞,人们构建了通过模式匹配检测安全API滥用的工具。然而,大多数工具不(1)修复误用或(2)允许用户扩展工具的模式集。为了克服这两个限制,我们创建了Seader--一种基于示例的方法来检测和修复安全API滥用。给定一个示例<insecure,secure>代码对,Seader比较代码片段以推断任何API滥用模板和相应的修复编辑。根据推断出的信息,给定一个程序,Seader执行过程间静态分析来搜索安全API误用并提出定制的修复方案。为了进行评估,我们将Seader应用于28个<不安全,安全>代码对; Seader成功地推断出21个独特的API误用模板和相关修复。通过这些<vulnerability,fix>模式,我们将SEADER应用于一个有86个已知漏洞的程序基准测试。Seader以95%的准确率、72%的召回率和82%的F分数检测到漏洞。我们还将Seader应用于100个开源项目,并手动检查了77个建议的修复;其中76个修复是正确的。Seader可以帮助开发人员正确使用安全API。
2022-04-28 cs.CR cs.SE
AndroScanner: Automated Backend Vulnerability Detection for Android Applications
Georgia Institute of Technology(佐治亚理工学院)
本文提出AndroScanner,通过静态与动态分析结合的方法,检测Android应用后端漏洞,发现5个漏洞,包括一个未报告的零日漏洞。
2026-04-15 cs.CR cs.NI cs.SE
Causative Insights into Open Source Software Security using Large Language Code Embeddings and Semantic Vulnerability Graph
本文提出将漏洞与根本原因关联的系统,结合大语言代码嵌入和语义漏洞图教育开发者安全编码,并通过可用性研究证明其使代码修复能力提升24%,约9%的开发者经训练后自然编写更安全代码。
2024-01-13 cs.SE
Stack Overflow: A Code Laundering Platform?
开发人员使用问答(Q&A)网站来交流知识和专业知识。Stack Overflow是一个流行的Q&A网站,开发人员在这里讨论编码问题并分享代码示例。虽然所有Stack Overflow帖子都可以免费访问,但Stack Overflow上的代码示例受Creative Commons Attribute-ShareAlike 3.0 Unported许可证的约束,开发人员在重用Stack Overflow的代码或将代码发布到Stack Overflow时应遵守该许可证。在本文中,我们对399个Android应用程序进行了案例研究,以调查开发人员在重用Stack Overflow帖子中的代码时是否尊重许可条款(反之亦然)。我们在数据集中的62个Android应用程序中发现了232个代码片段,这些代码片段可能会从Stack Overflow中重复使用,还有1,226个Stack Overflow帖子包含的代码示例是68个Android应用程序中发布的代码的克隆,这表明开发人员可能复制了这些应用程序的代码来回答Stack Overflow问题。我们调查了这些代码的许可证,并观察到1,279个潜在的许可证违规案例(与发布到堆栈溢出的代码或堆栈溢出的代码重用有关)。本文旨在提高软件工程社区对Stack Overflow等问答网站上潜在的不道德代码重用活动的认识。
2017-03-11 cs.SE
ContractTinker: LLM-Empowered Vulnerability Repair for Real-World Smart Contracts
针对现有智能合约漏洞修复工具语义理解不足、难以处理真实漏洞的问题,提出结合思维链拆解与静态分析引导的LLM赋能修复工具ContractTinker,在48个高危漏洞上实现48%的有效修复率与21%的微改可用率。
2024-09-15 cs.CR cs.SE
Large Language Models for Secure Code Assessment: A Multi-Language Empirical Study
Technical University of Munich(慕尼黑工业大学);Siemens AG(西门子股份公司)
本文研究了多语言环境下大型语言模型在安全代码评估中的有效性,通过实验发现GPT-4o在漏洞检测和CWE分类中表现最佳,并开发了CODEGUARDIAN工具提升开发人员的漏洞检测效率。
2026-02-17 cs.CR cs.SE
LLM-Powered Code Vulnerability Repair with Reinforcement Learning and Semantic Reward
University of Texas at San Antonio(德克萨斯大学圣安东尼奥分校);Louisiana State University(路易斯安那州立大学);University of the Incarnate Word(道成肉身大学)
本文提出SecRepair系统,利用CodeGen2大语言模型结合强化学习与语义奖励机制,在生成漏洞修复代码的同时提供完整漏洞描述,并在6个开源物联网操作系统中验证了其对零日及N日漏洞的识别与修复能力。
2024-02-22 cs.AI cs.SE
How Can ChatGPT Support Human Security Testers to Help Mitigate Supply Chain Attacks?
Wake Forest University(维克森林大学);Virginia Tech(弗吉尼亚理工大学)
本文探讨利用ChatGPT生成供应链攻击测试的方法,通过模板生成测试用例,发现49个应用中的漏洞,并优于现有工具。
2026-03-29 cs.CR cs.SE
On the Use of Refactoring in Security Vulnerability Fixes: An Exploratory Study on Maven Libraries
第三方库依赖在当今的软件开发中是司空见惯的。随着安全漏洞的威胁日益严重,及时应用安全补丁对保护软件系统至关重要。因此,社区开发了一个软件和硬件弱点列表,称为常见弱点枚举(CWE),以评估漏洞。以前的工作已经揭示了维护活动(如重构代码)可能与源代码中与安全相关的方面相关。在这项工作中,我们探讨重构和安全性之间的关系,通过分析在实践中执行的重构动作与漏洞修复。我们进行了一个案例研究,分析了143个maven库,其中351个已知漏洞已被检测和修复。令人惊讶的是,我们的探索性结果显示,开发人员在他们的修复中包含重构操作,其中31.9%(351个中的112个)的漏洞与重构操作配对。我们设想这篇简短的论文开辟潜在的新方向,以激励自动化工具支持,允许开发人员更快地交付修复,同时维护他们的代码。
2022-05-17 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 anti-patterns in Solidity: Increasing smart contracts security by reducing false alarms
本文提出基于开发者视角的Solidity轻量级静态检查方法,用于验证其他工具输出并标记误报,在三种前十漏洞上将误报减少92%至100%。
2024-10-22 cs.CE cs.CR cs.SE
Patch Validation in Automated Vulnerability Repair
Northwestern University(西北大学);University of Waterloo(滑铁卢大学);University of New Hampshire(新罕布什尔大学)
本文提出PVBench基准测试,揭示现有自动漏洞修复系统在补丁验证中存在显著误差,指出需提升根因分析、规范遵循和开发者意图捕捉能力。
2026-03-20 cs.SE
Large Language Models for In-File Vulnerability Localization Can Be "Lost in the End"
Collegium Helveticum ETH Zurich(苏黎世联邦理工学院赫尔维蒂库姆学院);University of Zurich(苏黎世大学)
本文评估GPT等基于聊天的LLMs检测文件内漏洞的有效性,发现其性能受漏洞位置和输入大小影响,较大文件末尾漏洞检测性能显著下降(“在末尾迷失”效应),并提出最佳输入大小策略,使平均召回率提升超37%。
2025-02-09 cs.AI cs.SE
An Empirical Study on the Characteristics of Question-Answering Process on Developer Forums
开发者论坛是关于API用法的最流行和最有用的问答网站之一。API论坛的分析可以成为自动问答方法的关键资源。本文以Twitter、eBay和AdWords三个API论坛为研究对象,对问答过程的特征进行了实证研究。我们观察到,在所有三个论坛上,有60%的帖子都是通过提供API方法名称或文档来回复的。+85%的问题由API开发团队回答,API开发团队的回答引起的后续问题较少。我们的研究结果提供了经验证据,我们在未来的工作,以建立自动化的解决方案,以回答开发人员的问题,API论坛。
2019-09-09 cs.SE
How Do Developers Deal with Security Issue Reports on GitHub?
安全问题报告是告知开发团队项目中的安全风险的主要手段,但对当前的实践知之甚少。我们的目标是了解开源项目中这些报告的特征,并发现改进开发人员实践的机会。我们分析了GitHub上182个不同项目中的3,493份安全问题报告,并手动研究了333份报告及其讨论和拉取请求。我们发现,安全问题报告的数量随着时间的推移而增加,它们得到更快的解决,并且与过去几年相比,它们在更早的开发阶段被报告。然而,一小部分开发人员频繁参与,安全问题进展缓慢,其中许多问题已经悬而未决了很长一段时间。我们意识到,只有一小部分安全问题报告包括可重复性数据,很少建议潜在的修复方法,并且没有关于报告者如何发现问题的提示。我们注意到,当对安全报告的第一反应很快并且存在已知漏洞时,问题的解决时间会显著缩短。
2021-12-20 cs.CR cs.SE
Assessing the alignment between the information needs of developers and the documentation of programming languages: A case study on Rust
程序设计语言文档是指为应用程序开发人员提供语言高级概念描述的一组技术文档。此类文档对于支持应用程序开发人员有效使用程序设计语言至关重要。文档管理员面临的挑战之一(即,制作文档的人员)是为了确保文档具有与开发人员的具体需求相一致的相关信息。在本文中,我们提出了一种自动化的方法来支持文档管理员在评估开发人员的具体信息需求和文档的当前状态之间的差异和相似之处(一个问题,我们称之为主题对齐的程序设计语言文档)。我们的方法利用半监督主题建模来评估Q&A帖子和官方文档主题之间的相似性和差异。为了展示我们的方法的应用,我们对Rust的文档进行了案例研究。我们的研究结果表明,Rust文档中的主题对齐程度相对较高。尽管如此,在Q&A网站和文档中,关于特定主题的信息仍然很少,特别是与网络,游戏和数据库开发等编程利基相关的主题。对于其他主题(例如,与语言特征相关的主题,如结构,模式和匹配,以及外部函数接口),信息仅在问答网站上提供,而缺乏官方文档。最后,我们讨论了对程序设计语言文档编制者的影响,特别是如何利用我们的方法来优先考虑应该添加到文档中的主题。
2022-02-08 cs.PL cs.SE
Cargo Ecosystem Dependency-Vulnerability Knowledge Graph Construction and Vulnerability Propagation Study
目前,人们对Cargo生态系统的结构和漏洞传播的可能性知之甚少。许多实证研究将第三方依赖治理策略从单个软件生态系统推广到其他生态系统,但忽略了不同软件生态系统技术结构的差异,难以直接将其他生态系统的安全治理策略推广到Cargo生态系统。为了填补这一领域的空白,本文构建了一个知识图谱的依赖漏洞的货物生态系统使用相关的技术,知识图谱,以解决这一挑战。本文是相关研究领域的第一个大规模实证研究,以解决货物生态系统中的脆弱性传播问题。提出了一种依赖-漏洞知识图谱解析算法,确定漏洞传播路径和传播范围,并实证研究了Cargo生态系统中漏洞的特征、传播范围以及导致漏洞传播的因素。我们的研究发现,Cargo生态系统的安全漏洞主要与内存相关。在受漏洞影响的库中,有18%的库在最新版本的库中仍然受到漏洞的影响。受漏洞传播影响的版本数量占整个Cargo生态系统的19.78%。本文探讨了Cargo生态系统中触发漏洞的特征和传播因素。它为Cargo社区的管理员、使用Cargo管理第三方库的开发人员以及库所有者提供了一些实用的解决策略。本文为提高Cargo生态系统的整体安全性提供了新的思路。
2022-10-14 cs.CR cs.PL cs.SE
BenchPress: Analyzing Android App Vulnerability Benchmark Suites
近年来,开发了各种基准套件来评估Android安全分析工具的有效性。工具评估中使用的基准套件的选择通常基于套件的可用性和流行性,而不是基于它们的特性和相关性。作出这种选择的原因之一是缺乏关于成套基准的特点和相关性的信息。在这种情况下,我们根据经验评估了四个Android特定的基准测试套件:DroidBench,Ghera,IccBench和UBCBench。对于每个基准测试套件,我们确定了在Android应用程序开发的背景下在Stack Overflow上讨论的套件所使用的API,并在227 K真实世界应用程序的样本中测量了这些API的使用情况(覆盖率)。我们还比较了每对基准套件,以确定它们在API使用方面的差异。最后,我们确定了在真实世界的应用程序中使用的安全相关API,但没有在上述任何基准测试套件中使用,以评估扩展基准测试套件的机会(差距)。本文中的发现可以帮助1)Android安全分析工具开发人员选择最适合评估其工具的基准套件(通过覆盖率和成对比较获得信息); 2)Android应用漏洞基准创建者开发和扩展基准套件(通过差距获得信息)。
2019-09-19 cs.CR cs.SE
Enhancing Security in Third-Party Library Reuse -- Comprehensive Detection of 1-day Vulnerability through Code Patch Analysis
针对第三方库复用引入的1-day漏洞检测难题,本文设计实现工具VULTURE,通过LLM构建数据库、哈希比较依赖及相似性、版本与块级分析,在10个真实项目中从178个复用TPLs识别出175个漏洞,提升复用安全性。
2024-11-29 cs.SE
Detecting Security Patches via Behavioral Data in Code Repositories
Tel-Aviv University(特拉维夫大学)
当今绝大多数软件都是使用协作版本控制工具(如Git)协作开发的。通常的做法是,一旦发现并修复了漏洞,软件背后的开发人员就会发布一个常见漏洞和暴露或CVE记录,以提醒用户社区注意安全隐患,并敦促他们集成安全补丁。然而,有些公司可能不会披露他们的漏洞,只是更新他们的存储库。因此,用户不知道该漏洞,并可能仍然暴露。在本文中,我们提出了一个系统来自动识别安全补丁,只使用Git存储库中的开发人员行为,而不分析代码本身或伴随修复的注释(提交消息)。我们可以发现隐藏的安全补丁,准确率为88.3%,F1得分为89.8%。这是第一次提出一个语言无关的解决方案。
2023-02-04 cs.CR cs.LG cs.SE
How Humans, Bots, and Agents Communicate About Vulnerabilities in Pull Requests
Radboud University(拉德堡德大学);Singapore Management University(新加坡管理大学)
研究拉取请求讨论中人类、机器人和编码代理通过显式标识符和隐式安全语言沟通漏洞的方式,并分析其与代码变更及审查活动的关系。
2026-06-29 cs.CR cs.SE
Investigating Developer-Reported Software Security Testing Challenges
University of Alabama(阿拉巴马大学)
本研究通过分析Stack Overflow上的17,743个问题,识别出582个软件安全测试相关讨论,构建了8类31子类的挑战分类法,发现开发者主要面临结果解释、工具选择、认证测试和集成等挑战,且这些挑战随时间演变,为改进SST实践提供了依据。
2026-09-14 cs.CR cs.SE
MalCodeAI: Autonomous Vulnerability Detection and Remediation via Language Agnostic Code Reasoning
Computer Science Department(计算机科学系);The George Washington University(乔治华盛顿大学)
MalCodeAI 提出一种语言无关的多阶段 AI 流水线,结合 LoRA 微调的 Qwen2.5-Coder 模型实现跨 14 种语言的自主漏洞检测与修复,并在开发者评估中获得高分,推动可解释的软件安全方案发展。
2025-07-15 cs.AI cs.CR cs.SE
An Exploratory Study on Regression Vulnerabilities
背景:安全回归是在以前未受影响的软件系统中引入的漏洞。它们通常是由于源代码更改而发生的(例如,bug修复)并且可能具有严重的影响。目的:增加对安全回归的理解。这是发展安全软件工程的重要一步。方法:我们对Mozilla进行了探索性的混合方法案例研究。首先,我们分析了78个回归漏洞和72个bug报告,其中一个bug修复在Mozilla中引入了回归漏洞。我们调查了开发人员如何在这些错误报告中进行交互,他们如何执行更改,以及在什么条件下他们引入回归漏洞。其次,我们对参与可扩展性诱导bug修复的尽可能多的Mozilla开发人员进行了五次半结构化访谈。结果:漏洞修复期间未讨论软件安全性。开发人员主要关心的是当前bug的复杂性和社区修复它的压力。此外,开发人员不必担心回归漏洞,并假设工具会检测到它们。事实上,动态分析工具帮助发现了Mozilla大约30%的回归漏洞。结论:这些结果提供的证据表明,虽然工具支持有助于识别回归漏洞,但它可能不足以确保漏洞修复期间的安全性。此外,我们的研究结果需要进一步研究安全工具支持以及如何在错误修复期间集成它们。数据和材料:https://doi.org/10.5281/zenodo.6792317
2022-07-05 cs.SE
Following Dragons: Code Review-Guided Fuzzing
The University of Melbourne(墨尔本大学)
EyeQ通过利用代码审查中的开发者智能,指导模糊测试以发现更多安全关键的漏洞。
2026-02-11 cs.CR cs.SE
Distinguishing Look-Alike Innocent and Vulnerable Code by Subtle Semantic Representation Learning and Explanation
针对现有深度学习脆弱性检测方法在词法相似语义相反的函数上预测差、无直观解释的问题,提出SVulD方法,学习区分性语义表示并提供自然语言解释,在多项指标上显著优于SOTA方法,且获开发者实践认可。
2023-08-22 cs.SE
Harnessing Large Language Models for Software Vulnerability Detection: A Comprehensive Benchmarking Study
School of Information Technologies Tallinn University of Technology(塔林理工大学信息技术学院);School of Informatics, Computing, and Cyber Systems Northern Arizona University(北亚利桑那大学信息学、计算与网络系统学院)
针对传统漏洞检测工具的不足,本研究提出用大型语言模型(LLMs)检测源代码漏洞,测试多种LLM及最佳提示策略,对比传统工具后发现LLMs在召回率和F1分数上更优,能识别更多问题,为开发和安全人员提供帮助。
2024-05-24 cs.AI cs.CR cs.SE
Multi-role Consensus through LLMs Discussions for Vulnerability Detection
Waseda University(早稻田大学);Peking University(北京大学);Dalian Maritime University(大连海事大学);Tokyo Institute of Technology(东京工业大学)
针对现有大语言模型漏洞检测多局限于单一测试角色视角的问题,提出多角色LLM讨论共识方法,模拟真实代码评审的多角色讨论以判定漏洞,显著提升了检测的精确率、召回率和F1值。
2024-05-18 cs.AI cs.SE
Multi-context Attention Fusion Neural Network for Software Vulnerability Identification
Cisco Systems(思科系统公司)
交付代码中的安全问题可能会导致不可预见的设备故障、系统崩溃或部署后被黑客恶意利用。这些漏洞会产生修复成本,最重要的是会危及公司的信誉。如果这些问题在发布之前就被检测到并被修复,这是值得的。通用弱点估计(CWE)是一个术语,描述了在C代码中观察到的一般漏洞模式。在这项工作中,我们提出了一个深度学习模型,学习有效地检测源代码中的一些常见类别的安全漏洞。AI架构是一种注意力融合模型,它结合了递归、卷积和自注意力网络的有效性,以解码代码中的漏洞热点。利用代码AST结构,我们的模型建立了一个准确的理解代码语义与少得多的可学习的参数。除了一种有效检测代码漏洞的新方法外,该模型的另一个新颖之处是精确指向模型认为易受攻击的代码部分。从而帮助开发人员快速关注易受攻击的代码部分;这成为漏洞检测的“可解释”部分。建议的AI在来自基准NIST SARD数据集的特定CWE上实现了98.40%的F1分数,并与最先进的技术水平进行了比较。
2021-04-19 cs.AI cs.SE
Helpful or Harmful? Evaluating LLM-Assisted Vulnerability Patching via a Human Study
通过人类实验研究LLM辅助漏洞修补的效果,发现其可能加速修补但增加生成不安全代码的风险。
2026-06-25 cs.AI cs.SE
On Categorizing Open Source Software Security Vulnerability Reporting Mechanisms on GitHub
本研究通过分析GitHub上679个开源项目,发现电子邮件是主要漏洞报告渠道、无SECURITY.md文件的项目安全性更低,为改进开源项目安全策略提供了建议。
2025-02-12 cs.SE
How Do Java Developers Reuse StackOverflow Answers in Their GitHub Projects?
本文通过克隆检测、关键词搜索和人工检查的混合方法,挖掘并研究了GitHub Java项目中复用的StackOverflow回答特征,发现被复用的回答得分更高、代码更长,且开发者多采用部分复用或重写而非完全复制。
2024-08-29 cs.SE
Enhancing Large Language Models for Secure Code Generation: A Dataset-driven Study on Vulnerability Mitigation
South China University of Technology(华南理工大学);University of Innsbruck(因斯布鲁克大学)
本文针对LLM生成代码的安全漏洞风险,构建了含180个样本的SecuCoGen数据集,通过代码生成、修复和分类实验评估现有模型,并提出缓解漏洞、增强鲁棒性的方法。
2023-10-25 cs.AI cs.CL cs.CR
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
Cybersecurity Discussions in Stack Overflow: A Developer-Centred Analysis of Engagement and Self-Disclosure Behaviour
Stack Overflow(SO)是一个受开发人员欢迎的平台,寻求有关各种软件相关主题的建议,包括隐私和安全。就许多知识共享网站而言,标准化组织的价值在很大程度上取决于用户的参与,即他们是否愿意回答、评论或提出技术问题。尽管如此,其中许多问题(包括与网络安全相关的问题)仍然没有答案,使该网站的相关性和声誉受到质疑。因此,重要的是要了解用户参与隐私和安全讨论的情况,以促进参与并促进此类专业知识的交流。目的:基于先前的在线社交网络的研究结果,这项工作阐述了用户的参与和他们的隐私实践之间的相互作用。特别是,它分析了开发人员关于个人资料可见性的自我披露行为,以及他们参与与隐私和安全相关的讨论。方法:我们采用混合方法,(i)分析来自1239个网络安全标记问题的SO数据以及7048个用户简档,(ii)进行匿名在线调查(N=64)。结果:约33%的问题,我们检索没有答案,而超过50%的没有被接受的答案。我们观察到,“主动”用户倾向于在他们的个人资料中披露的信息明显少于“被动”和“不参与”的用户。然而,没有发现这些参与类别和隐私相关的结构,如感知控制或一般隐私问题之间的相关性。含义:这些发现有助于(i)更好地了解开发人员对隐私和安全主题的参与,以及(ii)制定战略,促进SO中网络安全专业知识的交流。
2022-07-04 cs.CR cs.HC cs.SE
An Analysis of Python's Topics, Trends, and Technologies Through Mining Stack Overflow Discussions
Python是一种流行的、广泛使用的通用程序设计语言。尽管其社区不断增长,但研究人员并没有对Python的主题,趋势和技术进行太多分析,从而为开发人员提供有关Python社区趋势和主要问题的见解。在本文中,我们研究了开发人员在最受欢迎的Q\&A网站之一Stack Overflow上讨论的与这种语言相关的主要主题,以及通过挖掘2461876个帖子的时间趋势。为了对软件工程师更有用,我们研究了Python提供的替代常见程序设计语言(如Java)提供的流行技术的方法。我们的研究结果表明,关于Python标准功能,Web编程和科学编程的讨论。数学、数据科学、统计学、机器学习、自然语言处理(NLP)等领域的编程。是Python社区中最受欢迎的领域。与此同时,与科学编程相关的领域正越来越受到Python开发人员的关注。
2020-04-14 cs.SE
Towards Deep Learning Enabled Cybersecurity Risk Assessment for Microservice Architectures
针对微服务架构安全风险评估效率低的问题,提出基于深度学习自然语言处理模型的CyberWise Predictor框架,通过分析漏洞描述预测漏洞指标,在自动预测新漏洞指标上达92%平均准确率,助力开发者识别和缓解安全风险。
2024-03-22 cs.SE
Fixing Smart Contract Vulnerabilities: A Comparative Analysis of Literature and Developer's Practices
本研究针对智能合约漏洞修复中开发者对文献指南遵循度不明的问题,通过分析Solidity GitHub仓库中DASP TOP 10漏洞修复提交,对比文献方案与开发者实践,挖掘新型修复技术并评估其有效性。
2024-03-12 cs.SE
Automated software vulnerability detection with machine learning
Draper(德雷珀);Boston University(波士顿大学);Johns Hopkins University(约翰斯·霍普金斯大学);Northeastern University(东北大学)
每年在生产软件中发现数以千计的安全漏洞,这些漏洞要么公开报告给公共漏洞和暴露数据库,要么在专有代码中发现。漏洞通常以微妙的方式表现出来,这些方式对于代码审查者或开发人员本身来说并不明显。有了大量可供分析的开源代码,就有机会直接从数据中了解可能导致安全漏洞的错误模式。在本文中,我们提出了一个数据驱动的方法,利用机器学习,专门应用于C和C++程序的漏洞检测。我们首先编译了一个包含数十万个开源函数的大型数据集,这些函数标记有静态分析器的输出。然后,我们将直接应用于源代码的方法与应用于从构建过程中提取的工件的方法进行比较,发现基于源代码的模型性能更好。我们还将深度神经网络模型的应用与更传统的模型(如随机森林)进行了比较,发现最佳性能来自于将深度模型学习的特征与基于树的模型相结合。最终,我们的最高性能模型实现了0.49的精确度-召回率曲线下面积和0.87的ROC曲线下面积。
2018-08-02 cs.LG cs.SE stat.ML