Causative Insights into Open Source Software Security using Large Language Code Embeddings and Semantic Vulnerability Graph
本文提出将漏洞与根本原因关联的系统,结合大语言代码嵌入和语义漏洞图教育开发者安全编码,并通过可用性研究证明其使代码修复能力提升24%,约9%的开发者经训练后自然编写更安全代码。
2024-01-13 cs.SE
Supporting the Careers of Developers with Disabilities: Lessons from Zup Innovation
本文通过研究 Zup Innovation 的 Catalisa 培训项目并访谈 12 名参与者,分析了残疾人在软件开发职业中面临的包容性与无障碍挑战,并提出四项改进建议,以促进更公平的职场环境。
2023-05-26 cs.SE
Towards Heuristics for Supporting the Validation of Code Smells
代码气味的识别在很大程度上被认为是一项主观任务。因此,现有的自动检测工具不足以处理任务中涉及的整个主观性,需要人工验证。然而,开发人员可能遵循不同但互补的观点来手动验证相同的代码气味。基于这种情况下,我们的研究旨在表征一个全面的和优化的一组特征,用于指导开发人员验证自动检测工具报告的代码气味的发生率。为此,我们进行了实证研究,与12个经验丰富的软件开发人员。在这项研究中,我们邀请开发人员单独验证来自开源Java项目的24个代码片段中代码气味的发生率。对于每个验证,开发人员应该提供支持他们决策的参数。研究结果显示,开发人员倾向于从不同的角度看待问题,即使他们同意代码气味的发生率。在将303个参数编码并提炼之后,我们组成了一组优化的验证项目,用于指导开发人员手动验证八种类型的代码气味的发生率:数据类,上帝类,投机性一般性,中间人,拒绝遗赠,原始痴迷,长参数列表和功能嫉妒。我们目前正计划与专家一起进行调查,以确定改进所提议的验证项目集的机会。
2021-10-06 cs.SE
A Large-scale Study of Security Vulnerability Support on Developer Q&A Websites
安全漏洞(Security Vulnerabilities,SV)对软件系统构成了严重的威胁。开发人员通常在开发人员问答(Q&A)网站上寻求解决这些SV的解决方案。然而,在不同的开发者问答网站上,关于特定于SV的讨论仍然知之甚少。目的:我们提出了一个大规模的实证研究,以了解开发人员的SV讨论,以及这些讨论是如何支持的问答网站。方法:我们首先从两个大型Q&A网站(即Stack Overflow(SO)和Security StackExchange(SSE))中收集71,329个SV帖子。然后,我们使用主题建模来揭示SV相关讨论的主题,并分析每个主题的流行度,难度和专业知识水平。我们还进行定性分析,以确定SV相关问题的解决方案类型。结果:我们确定了13个主要的SV讨论主题的Q&A网站。许多主题并不遵循基于专家的安全资源(如常见弱点枚举(CWE)和开放Web应用程序安全项目(OWASP))中的分布和趋势。我们还发现,SV讨论吸引更多的专家回答比许多其他领域,但一些困难的SV主题(例如,漏洞扫描工具)仍然得到相当有限的支持,从专家。此外,我们确定了七个关键类型的回答SV的问题上的Q&A网站,其中SO经常提供代码和指令,而SSE通常给出经验为基础的建议和解释。结论:我们的研究结果提供了支持,研究人员和从业人员有效地获取,分享和利用SV知识的问答网站。
2021-04-21 cs.CR cs.SE
Characterising Contributions that Coincide with Vulnerability Mitigation in NPM Libraries
本文通过混合方法实证研究 554 条漏洞公告影响的 NPM GitHub 项目,挖掘 4,699 个同期 PR 与 Issue,以刻画其对漏洞缓解延迟的影响。
2024-06-17 cs.SE
Supporting Developers in Addressing Human-centric Issues in Mobile Apps
在移动应用程序开发过程中,如果不考虑不同最终用户的特征、限制和能力,可能会给最终用户带来问题,例如可访问性和可用性问题。我们把这类问题称为以人为中心的问题。尽管它们很重要,但对最终用户遇到的以人为本的问题类型以及移动应用程序开发人员考虑的问题类型的理解有限。在本文中,我们研究了最终用户通过Google App Store评论报告的以人为本的问题,哪些以人为本的问题是GitHub上开发人员讨论的主题,以及最终用户和开发人员是否讨论了相同的以人为本的问题。然后,我们调查是否有一个自动化的工具可以帮助检测这样的人类为中心的问题,以及开发人员是否会发现这样的工具有用。为此,我们进行了一项实证研究,通过提取和手动分析来自Google App Store和GitHub上12个不同项目的1,200条应用评论和1,200条问题评论的随机样本。我们的分析导致了以人为本的问题的分类,将以人为本的问题分为三个高级别:应用程序使用,包容性和用户反应。然后,我们开发了机器学习和深度学习模型,这些模型在自动识别和分类应用程序评论和开发人员讨论中以人为本的问题方面很有前途。对移动应用程序开发人员的调查显示,以人为中心的问题的自动检测具有实际应用。根据我们的研究结果,我们强调了一些影响和未来可能的工作,以进一步理解和纳入以人为本的问题,在移动应用程序开发。
2022-10-03 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
On the Reliability of LLM-Based Vulnerability Patching Benchmarks
Northwestern University(西北大学)
本研究揭示LLM漏洞修复基准在智能体、框架和数据集三个层面存在可靠性陷阱,通过112个真实漏洞实验证明基准分数高度依赖评估设计,且模型修复质量与开发者意图仍有差距。
2026-10-08 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
Patch Validation in Automated Vulnerability Repair
Northwestern University(西北大学);University of Waterloo(滑铁卢大学);University of New Hampshire(新罕布什尔大学)
本文提出PVBench基准测试,揭示现有自动漏洞修复系统在补丁验证中存在显著误差,指出需提升根因分析、规范遵循和开发者意图捕捉能力。
2026-03-20 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
Data-Driven Vulnerability Detection and Repair in Java Code
Java平台提供了各种API来促进安全编码。然而,对于缺乏网络安全培训的开发人员来说,正确使用安全API通常具有挑战性。先前的工作表明,许多开发人员滥用安全API;这种滥用可能会将漏洞引入软件,使安全保护无效,并向黑客提供安全漏洞。为了消除这种API相关的漏洞,本文提出了SEADER -我们的新方法,检测和修复安全API滥用。给定一个示例性的不安全代码片段及其安全对应代码片段,SEADER会比较这些代码片段并进行数据依赖性分析,以推断安全API滥用模板和相应的修复操作。根据推断的信息,给定一个程序,SEADER执行过程间静态分析,以搜索任何安全API滥用,并针对这些漏洞提出定制的修复建议。为了评估SEADER,我们将其应用于25个<不安全,安全>代码对,SEADER成功地推断出18个独特的API误用模板和相关修复。通过这些漏洞修复模式,我们进一步将SEADER应用于10个开源项目,这些项目总共包含32个已知漏洞。我们的实验表明,SEADER检测漏洞的准确率为100%,召回率为84%,准确率为91%。此外,我们将SEADER应用于100个Apache开源项目,并检测到988个漏洞; SEADER始终正确地定制修复建议。根据SEADER的输出,我们提交了60个pull requests。截至目前,已有18个项目的开发商对SEADER的建议给予了积极的反馈。我们的研究结果表明,SEADE…
2021-02-13 cs.CR 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
Dependency Practices for Vulnerability Mitigation
本研究分析npm生态系统中450多个漏洞和20多万个受感染包,利用9个特征构建预测模型,识别快速修复漏洞的依赖包,帮助开发者缓解供应链漏洞风险。
2023-10-11 cs.SE
AIBugHunter: A Practical Tool for Predicting, Classifying and Repairing Software Vulnerabilities
AIBugHunter 是一个集成到 VS Code 的 ML 漏洞分析工具,通过多目标优化分类和 Transformer 估计实现实时漏洞检测、分类、严重性评估与修复建议,并在 188K+ 函数数据集和用户研究中验证了其准确性与实用性。
2023-05-26 cs.CR cs.SE
Cross-Domain Evaluation of Transformer-Based Vulnerability Detection on Open & Industry Data
本文评估了基于变换器的漏洞检测模型在不同数据集上的表现,开发了集成到CI/CD中的推荐系统以提升漏洞检测效率。
2025-09-11 cs.SE
Can An Old Fashioned Feature Extraction and A Light-weight Model Improve Vulnerability Type Identification Performance?
本研究针对漏洞类型识别问题,提出一种基于传统TF-IDF基线方法并引入轻量级独立组件以优化预测的方案,在保持高效率的同时性能优于深度预训练模型,并能显著提升神经网络方法的宏平均F1分数。
2023-06-26 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
Supporting Contextual Conversational Agent-Based Software Development
针对软件开发中情境信息分散难获取、现有实践缺乏有效流程指导的问题,提出基于对话智能体的知识增强软件开发方法,为开发者提供任务相关信息与工作流建议,推动软件工程领域人机交互向对话模式演进。
2023-05-01 cs.SE
Supporting acceptance testing in distributed software projects with integrated feedback systems: Experiences and requirements
在验收测试过程中,客户评估系统是否满足他们的期望,并经常发现应该改进的问题。这些发现必须传达给开发人员,我们观察到这是一项容易出错的任务,特别是在分布式团队中。在这里,通常不可能让每个站点的开发人员代表参加测试。不在场的开发人员可能会误解没有充分记录的结果。这阻碍了问题的解决,并危及客户满意度。集成反馈系统有望缓解这一问题。它们允许轻松捕获结果及其背景。正确应用,这种技术可以改善反馈,同时减少客户的努力。本文收集了我们的经验,比较验收测试与反馈系统,在分布式项目。我们的研究结果表明,如果满足某些要求,这种技术可以提高验收测试。我们确定了反馈系统应该满足的关键要求,以支持验收测试。
2014-09-01 cs.SE
WANA: Symbolic Execution of Wasm Bytecode for Cross-Platform Smart Contract Vulnerability Detection
许多流行的区块链平台都支持智能合约来构建分散的应用程序。然而,智能合约中的漏洞给最终用户带来了严重的经济损失。对于EOSIO区块链平台,有效的漏洞检测器仍然有限。此外,现有的漏洞检测工具只能支持一个区块链平台。在这项工作中,我们提出了WANA,一个基于WebAssembly字节码符号执行的跨平台智能合约漏洞检测工具。此外,WANA提出了一组测试预言机,以检测基于WebAssembly字节码分析的EOSIO和以太坊智能合约中的漏洞。我们的实验分析表明,WANA可以高效地检测EOSIO和以太坊智能合约中的漏洞。
2020-08-05 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
VulStamp: Vulnerability Assessment using Large Language Model
本文提出VulStamp框架,结合静态分析与大型语言模型提取漏洞代码意图,并采用基于强化学习的提示调优方法,实现无需人工描述的漏洞严重性评估。
2025-06-25 cs.SE
VulEval: Towards Repository-Level Evaluation of Software Vulnerability Detection
提出仓库级评估系统VulEval,通过函数级检测、依赖预测和仓库级检测三项任务及大规模数据集,填补了过程间漏洞检测评估的空白。
2024-04-24 cs.CR cs.SE
Learning migration models for supporting incremental language migrations of software applications
遗留系统可以定义为一个显著抵制修改和进化的系统。根据文献,有两种主要的策略来迁移遗留系统:(a)用新系统替换遗留系统,(b)增量地将部分从遗留系统迁移到新系统。增量迁移允许开发人员更好地控制迁移过程中可能发生的风险。然而,这种策略更复杂,因为它需要将遗留系统分解为不同的部分,例如一组文件,并定义它们在迁移过程中的迁移顺序。据我们所知,没有办法支持开发人员进行这些活动。目的:本文提出了一种支持应用程序从一种源语言到另一种目标语言的增量语言迁移的方法MigrationExp。MigrationExp建议在特定迁移迭代中首先迁移的文件。作为一种新颖的方法,我们的方法依赖于一个排名模型的学习,使用学习排名算法,由开发人员进行迁移。方法:我们在Android应用程序迁移的背景下验证了我们的方法,从Java到Kotlin,一种新的Android官方语言。我们通过将Java代码迁移到开源应用程序开发人员编写的Kotlin来训练我们的模型。结果如下:结果表明,在提出文件迁移的任务上,我们的方法在准确预测经验观察到的迁移顺序的能力方面优于Google提出的先前的迁移策略。结论:由于大多数Android应用程序都是用Java编写的,因此我们得出结论,支持开发人员的方法(如MigrationExp)可能会对Android应用程序的开发产生重大影响。
2022-10-03 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
Understanding and supporting how developers prompt for LLM-powered code editing in practice
University of California Irvine(加州大学尔布雷分校);Google(谷歌);Meta
本文研究开发者在使用LLM赋能代码编辑工具时的提示行为,发现频繁重新提示表明使用困难,并提出AutoPrompter工具通过推断缺失信息提升编辑正确性27%。
2025-12-19 cs.AI cs.HC 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
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
Vulnerability Detection Through an Adversarial Fuzzing Algorithm
针对模糊测试耗时、计算成本高,小型开发者难以开展全面安全测试的问题,本研究在现有进化算法基础上加入对抗方法生成测试用例,提升了模糊测试的效率,可在个人设备上运行并发现更多漏洞。
2023-07-21 cs.SE
CryptoExplorer: An Interactive Web Platform Supporting Secure Use of Cryptography APIs
研究表明,加密API很难使用。因此,开发人员求助于使用在线信息源中可用的代码示例,而这些信息源通常并不安全。我们已经开发了一个名为CryptoExplorer的Web平台,其中包含许多真实世界的安全和不安全示例,开发人员可以探索这些示例以学习如何正确使用加密API。该平台目前提供了3,263种安全使用和5,897种不安全的Java加密架构使用,这些使用来自GitHub上的2,324个Java项目。初步研究表明,CryptoExplorer为开发人员提供了安全的加密API使用示例,与在互联网上搜索此类示例相比,开发人员可以节省时间,并且他们通过研究误用的API示例来学习避免在API中使用某些算法。我们有一个管道,定期挖掘更多的项目,并根据要求,我们提供我们的数据集给研究人员。
2020-01-03 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
LLM-based Code Auditing by Inferring and Evaluating Developer Assumptions
MPI-SP(马克斯·普朗克安全与隐私研究所);CISPA(萨姆·哈塞尔大学赛斯帕信息安全和隐私中心)
本研究提出基于大语言模型的Creed方法,通过推断评估开发者安全信念检测代码漏洞,在真实基准上实现了优于现有工具的效果-工作量权衡。
2026-10-14 cs.CR cs.SE
ArCode: A Tool for Supporting Comprehension andImplementation of Architectural Concerns
集成开发环境(IDE)在支持开发人员理解和完成程序方面发挥着重要作用。这些支持特性中的许多都集中在低级编程和调试活动上。不幸的是,在理解和实现模式、策略和/或其他关注点形式的架构关注点方面,支持较少。在本文中,我们提出了ArCode,一个工具设计为一个流行的IDE,IntelliJ IDEA插件。ArCode能够学习使用框架的API来实现认证和授权等架构问题的正确方法。通过分析程序员的代码,该工具能够找到与正确实现的偏差,并提供修复建议以及图形演示,以更好地与开发人员沟通建议。我们展示了程序员如何通过为一个著名的Java框架,Java身份验证和授权(JAAS)安全框架提供API误用检测和API推荐场景来从ArCode中受益。
2021-03-11 cs.SE
GitHub Proxy Server: A tool for supporting massive data collection on GitHub
本文提出 GitHub 代理服务器工具,抽象 GitHub 数据收集的复杂性,独立于操作系统和编程语言,可提升大规模 GitHub 挖掘任务的性能。
2025-05-23 cs.SE
UntrustVul: An Automated Approach for Identifying Untrustworthy Alerts in Vulnerability Detection Models
本文提出UntrustVul方法,通过识别与漏洞无关的代码行来自动检测不可信的漏洞预测,实验表明其在AUC和F1-score上优于现有方法。
2026-05-15 cs.SE
Vulnerability Handling of AI-Generated Code -- Existing Solutions and Open Challenges
针对生成式AI尤其是LLM生成代码易引入安全漏洞、传统人工审查流程难以适配的问题,梳理了基于LLM的漏洞检测、定位与修复方法的研究进展,指出了建立可靠可扩展的AI生成代码漏洞处理流程需解决的开放性挑战。
2024-08-16 cs.SE
Threshy: Supporting Safe Usage of Intelligent Web Services
“智能”网络服务的日益普及为最终用户提供了机器学习功能,开发人员只需付出很少的努力。然而,这些服务需要根据特定问题的数据设置决策阈值。开发人员缺乏评估智能服务的系统方法,现有的评估工具主要针对数据科学家进行开发前评估。本文提出了一个工作流程和支持工具,Threshy,以帮助软件开发人员选择一个决策阈值适合他们的问题域。与现有工具不同,Threshy旨在在多个工作流程中运行,包括预开发,预发布和支持。Threshy旨在调整智能Web服务返回的置信度分数,并且不处理ML模型中使用的超参数优化。此外,它还考虑了误报的财务影响。Threshy导出的阈值配置文件可以集成到客户端应用程序和监控基础设施中。演示:https://bit.ly/2YKeYhE.
2020-08-19 cs.CY cs.SE
Weakly Supervised Vulnerability Localization via Multiple Instance Learning
The Chinese University of Hong Kong(香港中文大学);Harbin Institute of Technology, Shenzhen(哈尔滨工业大学(深圳));Sun Yat-sen University (Zhuhai)(中山大学(珠海));Chongqing University(重庆大学)
本文提出弱监督方法 WAVES,基于多示例学习将函数级标签转换为语句级伪标签,无需额外语句级标注即可实现漏洞检测与定位,在三个基准数据集上定位性能达最优。
2025-09-14 cs.AI 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
EOSFuzzer: Fuzzing EOSIO Smart Contracts for Vulnerability Detection
EOSIO是一个典型的公共区块链平台。它在交易速度方面具有可扩展性,并且拥有支持智能合约和分散应用程序的不断增长的生态系统。然而,EOSIO智能合约中的漏洞导致了严重的攻击,给最终用户造成了严重的经济损失。在本文中,我们系统地分析了三个典型的EOSIO智能合约漏洞及其相关攻击。然后,我们介绍了EOSFuzzer,这是一个通用的黑盒模糊框架,用于检测EOSIO智能合约中的漏洞。特别是,EOSFuzzer为EOSIO智能合约模糊化提出了有效的攻击场景和测试神谕。我们在3963个EOSIO智能合约上进行的模糊实验表明,EOSFuzzer能够有效且高效地检测EOSIO智能合约漏洞,并具有较高的准确性。
2020-08-06 cs.SE
Answer Is Cheap, Show Me the Evidence! Augmenting Automated Vulnerability Assessment with Evidence
Zhejiang University(浙江大学);Huawei(华为)
研究针对现有自动化漏洞评估方法缺乏证据支持的问题,提出EAVA框架,通过LLM智能体和两阶段训练流程实现更优性能,且提供的证据对安全专家实用。
2026-08-27 cs.SE
Distinguishing Look-Alike Innocent and Vulnerable Code by Subtle Semantic Representation Learning and Explanation
针对现有深度学习脆弱性检测方法在词法相似语义相反的函数上预测差、无直观解释的问题,提出SVulD方法,学习区分性语义表示并提供自然语言解释,在多项指标上显著优于SOTA方法,且获开发者实践认可。
2023-08-22 cs.SE
Towards Explainable Vulnerability Detection with Large Language Models
针对现有漏洞检测方法缺乏详细解释的问题,提出融合提示标注、LoRA指令微调和CoT关键代码提取的LLMVulExp框架,实现高准确率的漏洞检测与可解释分析,在SeVC数据集上F1超90%。
2025-09-03 cs.SE
VulnGym: Benchmarking Coding Agents for Repository-Level Vulnerability Detection
Tencent Wukong(腾讯悟空);The Chinese University of Hong Kong(香港中文大学);Fudan University(复旦大学);The University of Hong Kong(香港大学);Peking University(北京大学)
研究人员提出VulnGym基准,解决现有基准难以评估代码智能体仓库级漏洞检测能力的问题,发现当前代码智能体在该检测及支撑追踪构建上仍存在局限。
2026-08-04 cs.SE
Generating Mitigations for Downstream Projects to Neutralize Upstream Library Vulnerability
The State Key Laboratory of Blockchain and Data Security, Zhejiang University(浙江大学区块链与数据安全国家重点实验室);Hangzhou High-Tech Zone (Binjiang) Institute of Blockchain and Data Security(杭州高新技术开发区(滨江)区块链与数据安全研究所)
针对无源代码和补丁时第三方库漏洞难以修复的问题,提出 LUMEN 框架,通过检索相似变通方案或基于类型生成缓解策略,成功缓解 70.2% 的受影响函数且无功能损失。
2026-10-22 cs.SE
ContractTinker: LLM-Empowered Vulnerability Repair for Real-World Smart Contracts
针对现有智能合约漏洞修复工具语义理解不足、难以处理真实漏洞的问题,提出结合思维链拆解与静态分析引导的LLM赋能修复工具ContractTinker,在48个高危漏洞上实现48%的有效修复率与21%的微改可用率。
2024-09-15 cs.CR cs.SE
Analyzing and Supporting Adaptation of Online Code Examples
开发人员经常求助于在线Q&A论坛,如Stack Overflow(SO),以满足他们的编程需求。虽然这些论坛上的代码示例是很好的起点,但它们通常不完整,不适合开发人员的本地程序上下文;对这些示例进行改编是将其集成到生产代码中所必需的。因此,改编在线代码示例的过程是由多个开发人员独立地一遍又一遍地完成的。我们的工作广泛地研究了这些适应性和变化,作为一个工具,帮助集成这些在线代码的例子在一个目标上下文中的交互式方式的基础。我们进行了大规模的实证研究的性质和程度的适应和变化的SO片段。我们基于克隆检测、时间戳分析和显式URL引用构建了一个将SO帖子与GitHub对应帖子联系起来的综合数据集。然后,我们定性地检查了400个SO示例及其GitHub对应项,并开发了24种适应类型的分类法。使用这种分类法,我们在GumTree之上构建了一个自动适应分析技术,将整个数据集分类为这些类型。我们构建了一个名为ExampleStack的Chrome扩展,它可以自动从每个SO示例及其GitHub对应项中提取一个适应感知模板,以识别发生大多数更改的热点。一项针对16名程序员的用户研究表明,看到类似GitHub对应程序的共性和差异,增加了他们对给定SO示例的信心,并帮助他们更全面地了解如何以不同的方式重用示例,避免常见的陷阱。
2019-05-28 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
Enhancing Code Quality with Generative AI: Boosting Developer Warning Compliance
Electrical and Computer Engineering Department(电气与计算机工程系);United States Naval Academy(美国海军学院)
针对开发者因静态分析警告冗长、困惑且可能误报而忽视修复的问题,提出利用大型语言模型简化警告、说明严重性并建议修复方案,以提升警告修复遵从度和代码质量。
2025-05-16 cs.LG cs.SE
Do #ifdefs Influence the Occurrence of Vulnerabilities? An Empirical Study of the Linux Kernel
预处理器通过#ifdef支持软件产品的多样化,但也需要开发人员付出额外的努力来维护和理解可变代码。我们推测,#ifdef会导致开发人员产生更脆弱的代码,因为他们需要同时推理多个功能,并维护可配置代码的依赖关系的复杂心理模型。我们在Linux内核的所有配置中提取了一个变分调用图,并使用配置复杂性指标来比较易受攻击和不受攻击的函数,同时考虑它们的漏洞历史。我们的目标是了解我们是否可以观察到配置复杂性对漏洞发生的可测量影响。我们的研究结果表明,除其他外,脆弱的功能有更高的可变性比非脆弱的,也受到较少的配置选项。这表明开发人员倾向于注意到函数出现在频繁编译的产品变体中。我们的目标是提高开发人员的意识,更系统地解决可变性,因为配置复杂性是一个重要的,但往往被忽视的软件产品线的方面。
2016-05-23 cs.SE
On Categorizing Open Source Software Security Vulnerability Reporting Mechanisms on GitHub
本研究通过分析GitHub上679个开源项目,发现电子邮件是主要漏洞报告渠道、无SECURITY.md文件的项目安全性更低,为改进开源项目安全策略提供了建议。
2025-02-12 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
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