PromptAudit:审计基于LLM的漏洞检测中的提示敏感性
摘要
PromptAudit是一个受控评估框架,通过隔离提示表述对基于LLM的漏洞检测的影响,发现思维链提示在整体性能上表现最佳,同时提示敏感性必须被视为一级系统属性。
arXiv:2605.24171v1 Announce Type: new
Abstract: 大型语言模型越来越多地用于漏洞检测,但不同提示表述下的可靠性仍未得到充分研究。我们提出了PromptAudit,这是一个受控评估框架,通过固定数据集、解码和解析,仅改变提示策略,从而隔离提示效应。在1,000个CVE(包含6,074个代码样本,覆盖16种编程语言)上,使用五种提示策略和五个开放权重模型,我们评估了准确率、召回率、弃权率、覆盖率和有效F1值。我们发现,标准思维链提示(standard chain-of-thought prompting)在整体运行性能上表现最强,而少样本提示(few-shot prompting)则提供了依赖于模型的收益,对于提示敏感的模型尤为明显。相比之下,自适应思维链提示(adaptive chain-of-thought)经常抑制召回率,而自一致性(self-consistency)导致过多的弃权,从而大幅降低有效性能。这些结果表明,漏洞检测行为由模型和提示共同决定,提示敏感性是一个必须要在评估和部署中明确描述的一级系统属性。
查看缓存全文
缓存时间: 2026/05/26 09:01
# PromptAudit:审计LLM漏洞检测中的提示敏感性 来源:https://arxiv.org/html/2605.24171 Yahya Hmaiti 中佛罗里达大学 奥兰多,佛罗里达州,美国 [email protected] (https://arxiv.org/html/2605.24171v1/mailto:[email protected]) Mandana Ghadamian 中佛罗里达大学 奥兰多,佛罗里达州,美国 [email protected] (https://arxiv.org/html/2605.24171v1/mailto:[email protected]) David Mohaisen 中佛罗里达大学 奥兰多,佛罗里达州,美国 [email protected] (https://arxiv.org/html/2605.24171v1/mailto:[email protected]) ###### 摘要。大型语言模型越来越多地用于漏洞检测,然而它们在不同提示表述下的可靠性仍未得到充分表征。我们提出了PromptAudit,一个受控评估框架,通过固定数据集、解码和解析环节,仅改变提示策略,从而隔离提示效应。使用五种提示策略,在五个开源权重模型上,针对1000个CVE(涵盖16种编程语言的6074个代码样本),我们评估了准确率、召回率、放弃率、覆盖率和有效F1值。我们发现,标准思维链提示实现了最强的整体运行性能,而少数样本提示带来了模型相关的收益,对提示敏感的模型最为明显。相比之下,自适应思维链常常抑制召回率,自一致性则导致过度的放弃行为,大幅降低有效性能。这些结果表明,漏洞检测行为由模型和提示共同决定,提示敏感性是一级系统属性,在评估和部署中必须明确表征。 大型语言模型, 漏洞检测, 提示敏感性, 软件安全, CVEfixes, 实证评估 ††版权:无 ## 1. 引言 大型语言模型(LLM)越来越多地出现在软件安全任务中,包括漏洞检测、漏洞修复和安全感知代码生成(Lin和Mohaisen, 2025 (https://arxiv.org/html/2605.24171#bib.bib31);Jiang等人, 2025 (https://arxiv.org/html/2605.24171#bib.bib23);Basic和Giaretta, 2024 (https://arxiv.org/html/2605.24171#bib.bib5);Kharma等人, 2026 (https://arxiv.org/html/2605.24171#bib.bib25))。在本工作中,我们专注于通用指令微调模型,仅通过提示进行漏洞检测,不进行任何安全相关的微调。它们能读取代码,识别熟悉的弱点模式,并提供快速判断,通常看起来比传统的静态或动态分析工具更灵活。与基于固定规则和签名的传统静态和动态分析工具不同,LLM在学习的表征上运行,这些表征能跨编程语言和漏洞类别进行泛化(He和Vechev, 2023 (https://arxiv.org/html/2605.24171#bib.bib20);Ullah等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib43))。然而,先前的工作也一致报告,基于LLM的漏洞检测表现出显著的可变性,性能强烈依赖于提示表述、模型配置、数据集属性和评估协议(Sclar等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib39);Chatterjee等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib8);Lin和Mohaisen, 2025 (https://arxiv.org/html/2605.24171#bib.bib31))。现有的评估通常将这种可变性归因于模型行为本身。然而,正如近期分析所示,提示敏感性不仅反映了模型的不确定性,还反映了评估设计如何调节推理(Sclar等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib39);Liang等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib30))。语义等价的提示可能产生不同的推理轨迹和不同的漏洞标签,表明报告的性能取决于提示结构、输出约束和解析规则,而不仅仅是模型本身(Chatterjee等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib8);Lin和Mohaisen, 2025 (https://arxiv.org/html/2605.24171#bib.bib31))。在二分类设置中,例如将代码标记为SAFE或VULNERABLE,这种不稳定性使可重复性复杂化,并模糊了研究之间的比较。对于诸如判断代码片段是SAFE还是VULNERABLE这样的简单二分类任务,这种不稳定性带来了超越一般分类错误的安全特定后果。漏洞检测不是对称问题:假阴性(将易受攻击的代码片段分类为安全)可能允许可利用的代码未被检测到,而假阳性会增加审查员工作量但不会引入风险。放弃(模型拒绝给出判决)也构成类似的操作担忧:未获得判决的代码实际上未被审查,除非后续有回退机制。因此,提示引起的召回率或放弃率的变化,可以在不改变底层模型的情况下改变检测器的运行安全行为,使得提示设计成为一级部署关注点,而非评估细节。相关工作进一步表明,评估伪影可能放大表面上的不稳定性。评分方法、提示模板和输出提取程序可能惩罚语义正确的输出,或在不改善底层推理的情况下改变决策阈值(Hua等人, [n.d.] (https://arxiv.org/html/2605.24171#bib.bib22))。在漏洞检测中,这些效应被数据集特征(包括类别不平衡和提交级标签,其中真实标签通常模糊或依赖于上下文)所放大(Lin和Mohaisen, 2025 (https://arxiv.org/html/2605.24171#bib.bib31);Ullah等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib43))。因此,观察到的准确率可能混合了模型能力、提示引起的方差和数据集不确定性,限制了实证结论的可解释性(Liang等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib30))。 本工作将提示敏感性重新定义为评估问题,而不是单个提示或模型的属性。基于先前关于提示策略、敏感性和基准测试实践的分析,我们引入了PromptAudit,一个受控评估框架,通过固定数据集、解码参数和评估流水线,仅改变提示策略,从而隔离提示结构的影响。本研究不提出新的漏洞检测模型,不引入新基准,也不声称检测准确率的改进。相反,它提供了关于推理时提示策略如何影响LLM漏洞分类稳定性和可靠性的系统测量分析。通过将提示引起的方差与其他实验因素分离,PromptAudit能够更可靠地解释先前结果,并支持跨漏洞检测研究的有原则比较。 **研究问题。** 本研究解决四个研究问题。 **RQ1:** 在受控评估条件下,推理时提示策略如何影响漏洞检测性能、覆盖率和放弃率? **RQ2:** 提示策略主要改善条件检测性能,还是改变了精确率-召回率-覆盖率权衡? **RQ3:** 在不同提示策略下,出现了哪些重复失败模式,它们如何影响运行可靠性? **RQ4:** 模型-策略交互如何塑造运行性能,在我们的评估设置下哪些组合提供最可靠的行为? 第4节 (https://arxiv.org/html/2605.24171#S4) 和第5节 (https://arxiv.org/html/2605.24171#S5) 讨论这些问题。 **贡献。** 我们做出以下贡献: (1) **提示敏感性受控评估。** 我们提出了一个LLM漏洞检测中提示敏感性的受控测量研究,将提示策略作为主要实验变量隔离。通过固定数据集、解码参数和评估流水线,我们将提示引起的方差与模型配置和评估伪影分离。 (2) **推理时提示策略的系统分析。** 我们在统一设置下比较了对应于零样本、少数样本、思维链、自适应思维链和自一致性的五种具体提示模板,展示了提示模板选择如何影响跨模型的漏洞分类。 (3) **覆盖感知的运行可靠性分析。** 我们表明提示策略不仅影响标准F1值,还影响放弃率、覆盖率和有效F1值,揭示了仅依赖准确率评估所掩盖的失败模式,如召回率崩溃和覆盖率崩溃。 (4) **PromptAudit:可重复的评估框架。** 我们引入了PromptAudit,一个可重复使用的评估框架,用于审计LLM漏洞检测中提示引起的方差。PromptAudit支持可重复的测量研究和跨提示策略的有原则比较,而不引入新的检测模型或基准。 **主张范围。** 本研究做出的是比较性测量主张,而非关于绝对漏洞检测能力的主张。我们评估固定的提示模板实例在一个CVEfixes派生标签源、一种解码配置和一种默认解析策略下如何改变模型行为。这些标签提供了共享的实验基础,但并未确立每个单独片段是独立可利用或安全的。同样,每种提示策略由一个具体模板实例代表;因此,结果应解释为模板级别的证据,而非关于所有可能的零样本、少数样本、CoT、自适应CoT或自一致性提示的普适性主张。 ## 2. 相关工作 本节将我们的工作置于先前关于基于学习的漏洞检测、推理时提示策略和LLM评估鲁棒性的研究背景中。我们并非详尽地调查所有相关系统,而是聚焦于与理解提示、数据集构建和评估设计如何相互作用以塑造报告性能最为相关的文献。这一视角阐明了现有评估的局限性,并激发了我们对LLM检测中提示引起方差进行受控分析。 ### 2.1. 漏洞检测与提示 自动漏洞检测的先前工作涵盖了静态和动态分析工具(Chess和West, 2007 (https://arxiv.org/html/2605.24171#bib.bib11);Viega等人, 2000 (https://arxiv.org/html/2605.24171#bib.bib44);Serebryany等人, 2012 (https://arxiv.org/html/2605.24171#bib.bib40))、基于学习的方法(在令牌序列和程序图上操作)(Li等人, 2018 (https://arxiv.org/html/2605.24171#bib.bib29);Russell等人, 2018 (https://arxiv.org/html/2605.24171#bib.bib38);Zhou等人, 2019 (https://arxiv.org/html/2605.24171#bib.bib51);Chakraborty等人, 2021 (https://arxiv.org/html/2605.24171#bib.bib7))以及预训练代码模型如CodeBERT和GraphCodeBERT(Feng, 2020 (https://arxiv.org/html/2605.24171#bib.bib15);Guo等人, 2020 (https://arxiv.org/html/2605.24171#bib.bib17))。面向安全的变体,包括VulBERTa和LineVul,表明大规模预训练产生可迁移到漏洞检测的表征(Hanif和Maffeis, 2022 (https://arxiv.org/html/2605.24171#bib.bib19);Fu和Tantithamthavorn, 2022 (https://arxiv.org/html/2605.24171#bib.bib16))。在这些进展的基础上,指令微调LLM扩展了这一研究方向,通过自然语言提示实现漏洞分类,无需任务特定的微调。关于GPT-3.5、GPT-4(Pearce等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib35);Siddiq等人, 2022 (https://arxiv.org/html/2605.24171#bib.bib41))以及代码模型如Code Llama、StarCoder和DeepSeek-Coder(Roziere等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib37);Li等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib27);Guo等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib18))的实证研究表明,LLM能够识别漏洞模式,但性能高度依赖于漏洞类型、代码复杂度和提示策略。近期的比较评估进一步显示,模型、语言和提示设置之间存在显著变化,某些配置的性能接近随机(Lin和Mohaisen, 2025 (https://arxiv.org/html/2605.24171#bib.bib31);Jiang等人, 2025 (https://arxiv.org/html/2605.24171#bib.bib23))。LLM检测的一个常见局限性是对提示表述和推理参数的高度敏感性(White等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib49);Liu等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib32);Wei等人, 2022 (https://arxiv.org/html/2605.24171#bib.bib48);Sclar等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib39))。与具有固定决策程序的传统分析器不同(Chess和West, 2007 (https://arxiv.org/html/2605.24171#bib.bib11);Johnson等人, 2013 (https://arxiv.org/html/2605.24171#bib.bib24)),LLM在多步推理路径上进行概率推理,使得预测对指令框架、示例选择和输出约束敏感。虽然像自一致性这样的技术可以减少不同生成之间的方差(Wang等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib47)),提示引起的不稳定性仍然是可靠评估的主要障碍。尽管兴趣日益增长,现有研究主要集中于专有模型,限制了开源权重替代方案的系统比较(Fan等人, 2023 (https://arxiv.org/html/2605.24171#bib.bib13))。此外,虽然提示工程已知会影响LLM行为(Wei等人, 2022 (https://arxiv.org/html/2605.24171#bib.bib48);Kojima等人, 2022 (https://arxiv.org/html/2605.24171#bib.bib26)),大多数评估仅考虑狭窄的提示变体集,或将提示效应与模型、数据集或解码选择相混淆。因此,报告的性能改进常常模糊了收益是反映推理能力的提升,还是特定基准(如CVEfixes和Big-Vul(Bhandari等人, 2021 (https://arxiv.org/html/2605.24171#bib.bib6);Fan等人, 2020 (https://arxiv.org/html/2605.24171#bib.bib14)))上提示引起的偏移。 ### 2.2. 提示敏感性与评估设计 为了更好地理解这些局限性,近期工作直接量化提示敏感性。Sclar等人(Sclar等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib39))表明,仅提示*格式*就能引起高达76%的准确率波动,并且无论是扩展模型规模还是指令微调都无法可靠地缓解这种方差。Chatterjee等人(Chatterjee等人, 2024 (https://arxiv.org/html/2605.24171#bib.bib8))引入了POSIX,一个基于意图保持替换下对数似然变化的敏感性指数,并表明敏感性是结构化的而非随机的:对于多项选择任务,模板级别变化占主导,而释义对开放式生成的影响更强。除了量化,其他工作关注缓解策略,包括多样化提示格式(Ngweta等人, 2025 (https://arxiv.org/html/2605.24171#bib.bib33))以及采用语义感知的评估方法以减少由刚性评分和解析规则引入的伪影(Hua等人, [n.d.] (https://arxiv.org/html/2605.24171#bib.bib22))。这些研究表明,提示敏感性部分地与评估本身交织在一起,而非仅仅反映模型行为。
相似文章
自监督提示优化
本文提出了一种名为自监督提示优化(SPO)的框架,该框架通过输出对比来优化大语言模型的提示词,无需外部参考,显著降低了成本和数据需求。
大多数大语言模型评估工具是否仍然过于侧重提示词?
作者质疑当前的 LLM 评估工具是否过于关注孤立的提示词,而忽视了完整的工作流程和智能体交互,并指出逐步的准确性可能会掩盖生产环境中整体行为的偏差。
提示优化为何有效,为何有时无效:基于因果启发的编辑级分析
本文对自动化提示优化进行了基于因果启发的分析,涵盖多种框架、大语言模型和任务,识别出特定编辑类型(如复杂度增加型、元指令型)根据任务特征具有系统的负面或正面效应,从而解释了泛化失败的原因。
毒性幻觉:扰动提示并追踪LLM电路
本文研究了提示中的毒性词汇扰动如何降低LLM的事实准确性并增加不确定性,并使用归因图分析追踪内部变化。研究发现,增加毒性会放大对扰动敏感的变异节点,而核心推理节点保持不变。
本地LLM用户在将模型连接到工具之前是否测试提示注入?
关于本地LLM在连接工具时的安全实践讨论,质疑在赋予模型工具访问权限前,提示注入测试是否普遍。