摘要
arXiv:2503.09433v2 宣告类型: replace-cross
摘要:识别源代码中的漏洞至关重要,特别是在关键软件组件中。现有的方法,如静态分析、动态分析、形式验证和最近的大语言模型,广泛用于检测安全缺陷。本文介绍了CASTLE(CWE自动安全测试和低级评估)基准框架,用于评估不同方法的漏洞检测能力。我们使用250个手工制作的微基准程序集对25种常见的CWE进行了评估,其中包括13种静态分析工具、10种大语言模型和2种形式验证工具。我们提出了CASTLE评分,这是一种新的评估指标,以确保公平比较。我们的结果显示了关键差异:形式验证工具ESBMC(一种形式验证工具)减少了假阳性,但在超出模型检查的漏洞,如弱加密或SQL注入方面表现不佳。静态分析器由于高假阳性率增加了开发人员的手动验证工作。大语言模型在CASTLE数据集中小代码片段的漏洞识别方面表现出色。然而,随着代码规模的增加,其准确性下降,并出现了更多的幻觉。这些结果表明,在未来的安全解决方案中,大语言模型可能扮演关键角色,尤其是在代码完成框架中,它们可以提供实时指导以防止漏洞。数据集可从https://github.com/CASTLE-Benchmark 获取。