G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

admin 2025年6月7日10:27:22评论4 views字数 1985阅读6分37秒阅读模式

1986年,Fred Brooks 发表了经典论文 No Silver Bullet—Essence and Accident in Software Engineering,指出了没有什么神奇的“银弹”(silver bullet)能一次性解决所有软件开发问题。差不多40年过去了,新一轮的AI热潮(嗯,上一轮的AI热潮刚好也是在1986年前后)又催生了新的“银弹”——LLM,今天我们要介绍的一篇论文 LLMs in Software Security: A Survey of Vulnerability Detection Techniques and Insights 就是对这一波LLM行情在软件安全(特别是漏洞检测)方面的应用的中期小结(但愿这一轮的热潮能够持续200年):

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

说到漏洞检测,首先请看下图!在现实世界中,漏洞检测的输出可以分为四个不同的层次:

  • 层次一:判断是否存在(某种)漏洞
  • 层次二:判断漏洞的类别(属于哪种CWE)
  • 层次三:判断漏洞的威胁程度(severity)
  • 层次四:对漏洞的成因分析
G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

而本文关心的就是LLM的出现对不同层次的漏洞检测的影响,首先作者关心的第一个问题是哪些类型的LLM可以用于漏洞检测?这里说的类型并不是说GPT或者Claude或者DeepSeek,而是如下表所列的三种类型,也可以看到它们各自的优缺点:

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

当然,愚蠢的人类永远不会放弃排行榜 关于大模型哪家强这种热搜话题永远不会缺席,马上我们就看到了论文中的表格数据,注意到这里面并没有杭州幻方量化公司,大概是作者写论文的时候DS还比较DS,没引起作者的注意?作者总结说,最近的趋势很清楚,就是从Encoder-only的大模型(传统的CodeBERT这种)转向Decoder-only类型(当然是GPT为代表)。

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

论文接下来深入讨论了漏洞检测研究领域的一个痛点——漏洞数据集(dataset),作者调查了很多不同的漏洞数据集,有一个非常好的参考表格(如下)提供给大家:

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

然后讨论了这里面的“政治不正确”:大部分漏洞数据集都是C/C++相关的,其他编程语言的漏洞数据集相对来说就很缺乏(这难道不是在黑C和C++代码吗)。

论文的重头戏是3.4章,具体讨论了当前主流的LLM-based vulnerability detection中常用的一些增强技术。这些增强技术可以分为三大类:第一大类是代码预处理,也就是通过传统程序分析技术(例如AST生成、代码切片等)把代码文本转换成图、中间语言等形式,或者用RAG来对代码文本进行处理,总之目标就是要让大模型在有限的输入窗口(受到context长度限制)里面尽可能多理解代码的信息;第二大类是现在垃圾邮件里面最常见的内容——prompt engineering;第三类也是最近被讨论很多的fine-tuning技术。作者关于这些技术的总结我们其实也不太确定是否有道理,欢迎大家去阅读并发表评论

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

在论文的3.5章中,作者讨论了LLM在漏洞检测中面临的诸多挑战,这里面可能不同的读者关心的点不一样,我们挑一些比较有意思的来介绍。

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?
G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?
G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?
G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

首先,目前比较大的一个挑战是LLM不能很好地处理规模比较大的代码(例如多函数、多文件、多模块,而且漏洞的逻辑跨越了多个不同的单元),目前的尝试分为三大方向,一个是用一些传统的程序抽象表达(CFG、DFG)来简化LLM的输入,但是一些研究表明这种尝试好像并不能提高多少准确率?另一个就是设计前置的agent来生成提示词,进而帮助分析,而在代码复杂度比较高的情况下,这种做法的准确率也会下降得很厉害。最后就是用LangChain、RAG等“LLM外挂”来一起做分析。作者认为,解决这个挑战,也许就是未来LLM能够准确分析大规模代码的希望。

作者还提到了数据集对LLM的影响,人工智能社区在收割了人类几千年的输出之后,现在开始抱怨在代码漏洞领域没有足够多的高质量数据集,导致无法很好训练。我们认为,AI社区既然现在这么有钱,那么不如每年拿出100亿资助安全研究人员去搞漏洞分析和数据标注,等100年以后再把我们全部淘汰也行。

总之,经过了数十年的发展,传统的漏洞检测研究已经走到了尽头 漏洞检测迎来了LLM的新时代,下图展示了LLM在安全防护方面的应用,我们一方面希望LLM能够早日超过安全分析人员,解放我们的双手双眼,另一方面也希望AI投资浪潮能够惠及安全研究,喝水不忘挖井人。

G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

今天这篇文章的G.O.S.S.I.P 阅读推荐指数是:

strong accept

论文:https://arxiv.org/abs/2502.07049
GitHub:https://github.com/OwenSanzas/LLM-For-Vulnerability-Detection

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月7日10:27:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2025-03-05 LLM是安全的银弹吗?https://cn-sec.com/archives/3801893.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息