Buttercup:开源人工智能驱动系统检测并修补漏洞
Buttercup 是一个免费的、自动化的、基于人工智能的平台,用于查找并修复开源软件中的漏洞。
它由 Trail of Bits 开发,最近在美国国防部高级研究计划局 (DARPA) 的人工智能网络挑战赛 (AIxCC) 中荣获第二名。
主要组件
Buttercup 由四个主要组件组成,每个组件在查找和修复漏洞方面发挥着不同的作用。
编排/UI 组件确保一切运行顺畅,协调系统其他部分的操作,并向您展示它发现的漏洞和生成的补丁。除了标准的 Web 界面外,Buttercup 还会将日志和系统事件发送到 SigNoz 遥测服务器,以便您查看其后台运行情况。
漏洞发现引擎使用 AI 增强的突变模糊测试来发现可能暴露漏洞的程序输入。它基于 OSS-Fuzz/ClusterFuzz 构建,并使用 libFuzzer 和 Jazzer 来完成问题发现的繁重工作。
上下文分析采用了不同的方法,它使用传统的静态分析工具来创建详细的、可查询的程序模型。这些模型有助于为处理漏洞发现和修补的人工智能系统提供上下文。Buttercup 使用 tree-sitter 和 CodeQuery 等工具来构建这些模型。
最后,补丁生成是修复程序汇总的地方。这个多智能体系统使用七个 AI 智能体来创建和验证 Buttercup 发现的漏洞的补丁,确保修复程序的稳健性,并且不会破坏程序的其余部分。
要求和下载
运行 Buttercup 的最低要求包括至少八核 CPU、16 GB RAM 和 100 GB 可用磁盘空间。此外,还需要稳定的互联网连接来下载依赖项。
该解决方案依赖于第三方 AI 提供商,例如 OpenAI、Anthropic 和 Google 的 LLM,这些提供商会产生使用成本。为了控制每次部署的费用,请使用内置的 LLM 预算设置。
Buttercup 可在GitHub上免费获取。
https://github.com/trailofbits/buttercup