长亭百川云 - 文章详情

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

ChaMd5安全团队

47

2024-07-26

招新小广告CTF组诚招re、crypto、pwn、misc、合约方向的师傅,长期招新IOT+Car+工控+样本分析多个组招人有意向的师傅请联系邮箱

admin@chamd5.org(带上简历和想加入的小组)

前言

        本篇来自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 个漏洞类别。这些类别包括从缓冲区溢出到敏感数据暴露。

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 系列中出现了重要的代码理解。

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

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

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

结束

招新小广告

ChaMd5 Venom 招收大佬入圈

新成立组IOT+工控+样本分析 长期招新

欢迎联系admin@chamd5.org

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2