谷歌(Google)表示,它利用名为 Big Sleep(前身为 Project Naptime)的大型语言模型(LLM)辅助框架,在 SQLite 开源数据库引擎中发现了一个零日漏洞。
这家科技巨头将这一进展描述为使用人工智能(AI)代理发现的 “第一个真实世界的漏洞”。
Big Sleep 团队在与 The Hacker News 分享的一篇博文中说:“我们相信,这是人工智能代理在广泛使用的现实世界软件中发现以前未知的可利用内存安全问题的第一个公开例子。”
该漏洞是 SQLite 中的堆栈缓冲区下溢,当软件在内存缓冲区开始之前引用内存位置时就会发生下溢,从而导致崩溃或任意代码执行。
“根据常见弱点枚举(CWE)对该漏洞类的描述,这种情况通常发生在指针或其索引被递减到缓冲区之前的位置时,指针运算的结果是在有效内存位置开始之前的位置,或者使用了负索引。”
在负责任地披露后,该缺陷已于 2024 年 10 月初得到解决。值得注意的是,该漏洞是在库的开发分支中发现的,这意味着它在正式发布之前就被标记出来了。
谷歌在 2024 年 6 月首次详细介绍了 “Project Naptime”(Naptime 项目),这是一个用于改进自动漏洞发现方法的技术框架。此后,该项目演变为 Big Sleep,成为谷歌零项目(Project Zero)与谷歌 DeepMind 更广泛合作的一部分。
Big Sleep 的理念是利用 LLM 的代码理解和推理能力,让人工智能代理在识别和展示安全漏洞时模拟人类行为。
这需要使用一套专门的工具,让代理能够浏览目标代码库,在沙盒环境中运行 Python 脚本以生成用于模糊处理的输入,调试程序并观察结果。
我们认为这项工作具有巨大的防御潜力。谷歌说:“在软件发布之前就发现其漏洞,意味着攻击者没有竞争的余地:在攻击者有机会使用这些漏洞之前,漏洞就已经被修复了。”
不过,该公司也强调,这些仍是实验结果,并补充说:“Big Sleep 团队的立场是,目前,针对特定目标的模糊器很可能至少同样有效(发现漏洞)。”