探索GPT4自动代码审计的可能性

admin 2024年7月25日13:59:04评论33 views字数 1374阅读4分34秒阅读模式

前言

        本篇来自David Noever的论文,主旨依然是对比以GPT4为代表的LLM与传统代码审计工具的效果对比,论文分析涵盖了许多资料库,包括美国国家航空航天局和国防部的资料库。GPT-4 发现的漏洞大约是同类产品的四倍。

LLM 在识别和纠正软件漏洞方面的性能

        "act as the world's greatest static code analyzer for all major programming languages. I will give you a code snippet, and you will identify the language and analyze it for vulnerabilities. Give the output in a format: filename, vulnerabilities detected as a numbered list, and proposed fixes as a separate numbered list."
上面是论文中对GPT4的系统上下文设定。
作者将这一背景应用于 OpenAI 的 7 个不同 LLM,其参数大小,跨越四个数量级: 350M (Ada), 6.7B (Curie), 175B (DaVinci/GPT3/GPT-3.5-turbo-16k), and 1.7 trillion (GPT-4)。 在所有情况下使用应用程序接口自动查询 LLM,在系统上下文中查找漏洞和修复,然后使用八种流行编程语言(C、Ruby、PHP、Java、Javascript、C#、Go 和 Python)编写示例代码。
在每种情况下,作者都会要求 LLM 识别编码语言、查找漏洞并提出修复建议。
安全漏洞单一代码库包含 128 个代码片段,以所有八种编程语言为例,说明了 33 个漏洞类别。这些类别包括从缓冲区溢出到敏感数据暴露。

探索GPT4自动代码审计的可能性

LLM 与 Snyk 的漏洞类别比较

与传统代码扫描工具的比对

        在对 213 个漏洞中的 60 个进行随机人工检查时,只有 4 个是误报,但 DaVinci 和 Snyk 这两个工具都有许多误报或漏报的漏洞。
本研究使用 Snyk 扫描了相同的代码库,并在运行中发现了 98 个漏洞,其中约三分之二的漏洞被列为高严重性漏洞(H66、M-20、L-12)。
使用GPT-4 API的结果显示发现了 393 个漏洞,几乎是 DaVinci(213 个)的两倍,是 Snyk(99 个)的四倍。
对 GPT-3-Turbo-16K 的评分大致相当于对 GPT-3 的评分结果,发现的漏洞数为 217 个。
这一观察结果表明,在 60 亿到 1750亿个参数之间,OpenAI GPT 系列中出现了重要的代码理解。

探索GPT4自动代码审计的可能性

LLM 分析(GPT-4)与 Snyk 相比发现的漏洞类别

        值得注意的是,测试的代码片段通常只有几十行或几百行,因此发送到模型的标记数量限制在 500 个以下。
该提示和令牌响应限制(1024)使 API 方法无法分析系统级漏洞或查看依赖关系或库错误。
由于漏洞测试的规模,这种方法是合理的,但未来使用 OpenAI 最近发布的代码解释器的工作应能实现系统级查询。
   个人理解就是随着模型和API版本的演进,未来是可以进行超大项目乃至系统级项目的查询。

          对大模型和大模型安全感兴趣的,同时对内容有疑问和建议,可以进群反馈

 

原文始发于微信公众号(ChaMd5安全团队):探索GPT4自动代码审计的可能性

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月25日13:59:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   探索GPT4自动代码审计的可能性http://cn-sec.com/archives/2996829.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息