Learning from Failures: A Failure-Driven Prompt Refinement for LLM-Based Vulnerability Analysis
作者: Mandana Ghadamian, David Mohaisen
分类: cs.SE, cs.AI, cs.CR
发布日期: 2026-10-06
备注: Accepted at CSoNet 2026. 15 pages, 6 figures/tables combined
💡 一句话要点
提出基于失败驱动的提示优化方法以提升LLM漏洞分析效果
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 软件漏洞分析 提示优化 失败驱动 模型可靠性 自动化测试 安全性分析
📋 核心要点
- 现有的提示设计方法未能深入分析模型失败的原因,导致漏洞分析效果不佳。
- 本文提出的失败驱动提示优化方法,通过分析模型的失败模式,系统性地改进提示设计。
- 实验结果显示,优化后的提示在Juliet测试套件上表现更佳,提升了LLM的可靠性。
📝 摘要(中文)
大型语言模型(LLM)在软件漏洞分析中展现出良好的潜力,但其有效性高度依赖于提示设计。现有研究主要通过聚合性能指标比较提示策略,缺乏对模型失败原因的深入分析及系统性改进提示的方法。本文提出了一种失败驱动的提示优化方法(FDPR),通过分析模型的重复失败模式,指导基于证据的提示改进。利用Damn Vulnerable Java Application(DVJA),我们识别了包括假阳性、假阴性、不支持的推理和CWE错误分类等重复失败模式,并将其转化为针对性的提示优化。实验结果表明,失败驱动的优化显著提高了LLM在漏洞分析中的可靠性,并提供了可重用的提示设计原则。
🔬 方法详解
问题定义:本文旨在解决大型语言模型在软件漏洞分析中的提示设计不足,现有方法未能有效识别和改进模型的失败模式,导致分析结果不可靠。
核心思路:提出失败驱动的提示优化方法(FDPR),通过分析模型的重复失败,识别出影响性能的关键因素,从而进行针对性的提示改进。这样的设计能够确保优化过程基于实际的失败案例,而非仅依赖于理论推测。
技术框架:整体流程包括以下几个主要模块:首先,利用Damn Vulnerable Java Application(DVJA)进行模型训练和测试;其次,识别模型的失败模式,如假阳性和假阴性;最后,根据识别的失败模式进行提示的针对性优化,并在Juliet测试套件上进行验证。
关键创新:最重要的创新在于将模型的失败分析作为提示优化的基础,形成了一种系统化的提示工程方法。这与现有方法的主要区别在于,后者往往依赖于经验或随机选择,而FDPR则是基于数据驱动的分析。
关键设计:在提示优化过程中,设置了多个关键参数,包括失败模式的分类标准和优化后的提示结构。此外,采用了特定的损失函数来评估优化效果,确保模型在不同场景下的泛化能力。通过交叉模型验证,进一步增强了方法的可靠性。
🖼️ 关键图片
📊 实验亮点
实验结果表明,经过失败驱动的提示优化后,模型在Juliet测试套件上的表现显著提升,假阳性率和假阴性率均有明显改善。具体数据显示,优化后的提示在某些测试场景中,准确率提高了约15%,显示出该方法在漏洞分析中的有效性和实用性。
🎯 应用场景
该研究的潜在应用领域包括软件安全性分析、漏洞检测工具的开发以及自动化代码审查等。通过提供更可靠的漏洞分析系统,能够有效提升软件开发过程中的安全性,降低潜在的安全风险。未来,该方法还可以扩展到其他领域的模型优化中,推动智能系统的可靠性提升。
📄 摘要(原文)
Large Language Models have emerged as promising tools for software vulnerability analysis, but their effectiveness depends heavily on prompt design. Existing research primarily compares prompting strategies using aggregate performance metrics, providing limited insight into why models fail or how prompts can be improved systematically. We propose Failure-Driven Prompt Refinement (FDPR), a methodology that analyzes recurring model failures to guide evidence-based prompt refinement. Using the Damn Vulnerable Java Application (DVJA), we identify recurring failure modes, including false positives, false negatives, unsupported reasoning, and CWE misclassification, and translate them into targeted prompt refinements. We then evaluate the resulting prompt on the Juliet Test Suite and perform cross-model validation to assess generalizability. The results show that failure-driven refinement improves the reliability of LLM-based vulnerability analysis while yielding reusable prompt design principles. More broadly, this work demonstrates that recurring model failures provide a principled foundation for prompt engineering, enabling the systematic development of more reliable LLM-based vulnerability analysis systems.