招新小广告CTF组诚招re、crypto、pwn、misc、合约方向的师傅,长期招新IOT+Car+工控+样本分析多个组招人有意向的师傅请联系邮箱
[email protected](带上简历和想加入的小组)
前言
本篇来自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+工控+样本分析 长期招新
![探索GPT4自动代码审计的可能性 探索GPT4自动代码审计的可能性](https://ctfiot.oss-cn-beijing.aliyuncs.com/uploads/2024/07/10-1721867287.webp)
原文始发于微信公众号(ChaMd5安全团队):探索GPT4自动代码审计的可能性