Trail of Bits的Buttercup进军DARPA的AIxCC
随着DARPA人工智能网络挑战赛(AIxCC)半决赛于2024年DEF CON大会今日启动,我们正式介绍Buttercup——我们的AIxCC参赛作品。Buttercup是一款网络推理系统(CRS),它结合了模糊测试、静态分析等传统网络安全技术与人工智能和机器学习,以发现并修复软件漏洞。该系统设计用于在比赛严格的时间和预算限制内运行。
自DARPA于3月向我们及其他六家小型企业授予100万美元用于开发AIxCC的CRS以来,我们一直在全力开发Buttercup,并于7月中旬提交。我们兴奋地参与半决赛,DARPA将测试我们的CRS在发现和修复漏洞方面是否比人类更高效。许多开发Buttercup的Trail of Bits工程师将出席DEF CON,欢迎前来交流!
本文介绍Buttercup背后的团队,解释我们参赛的原因、面临的挑战以及未来计划。
为什么参赛
在Trail of Bits,我们的核心支柱之一是通过贡献开源软件、开发工具和分享知识来加强安全社区。开源软件至关重要,它支撑着当今许多技术——从运行全球数百万服务器的Linux操作系统,到服务互联网重要部分的Apache HTTP服务器。然而,真正的问题在于开源代码的数量庞大和复杂性高,使得保持安全变得困难。
Dan Guido解释说:“代码量太大,复杂度太高,难以在全球范围内发现所有漏洞。我们每天编写更多软件,越来越依赖软件,但安全工程师的数量并未随工作需求增长。AI是一个机会,可能帮助我们发现和修复当前普遍且数量不断增长的安全问题。”
Buttercup的工作旨在应对这些挑战,强化我们保护开源软件对更安全世界至关重要的信念。通过开发先进的AI驱动解决方案,Trail of Bits不仅为创新而竞争,还为保护我们所有人依赖的系统贡献更广泛的使命。
Buttercup背后的团队
我们的AIxCC团队由19名工程师组成,每人属于一个具有特定目标和任务的子团队。我们是一个完全远程的团队,由于不同时区,几乎全天候工作,这带来了挑战和机遇。首先,介绍我们的团队领导:
开发Buttercup的核心团队包括Alan Cao、Alessandro Gario、Akshay Kumar、Boyan Milanov、Marek Surovic、Brad Swain、William Tan和Amanda Stickler。
Artem Dinaburg、Andrew Pan、Henrik Brodin和Evan Sultanik在Buttercup开发的初始阶段做出了宝贵贡献。
介绍Buttercup:我们的AIxCC参赛作品
Buttercup,我们的AIxCC CRS,代表了自动漏洞检测和修复的重大飞跃。以下是Buttercup的独特之处:
- 混合方法:Buttercup结合了模糊测试、静态分析等传统网络安全技术与前沿AI和机器学习。这种融合让我们利用两种方法的优势,克服各自的局限性。
- 自适应漏洞发现:我们的系统使用大型语言模型(LLM)生成模糊测试的种子输入,显著减少发现漏洞所需时间。这种创新方法帮助我们在比赛严格时间限制内工作。
- 智能上下文分析:Buttercup不仅发现漏洞,还理解它们。我们的系统可以识别导致错误的提交,并为有效修补提供关键上下文。
- AI驱动修补:我们实现了多交互LLM代理方法进行补丁生成。这些代理协作分析、调试,并根据验证反馈迭代改进补丁。
- 可扩展性和弹性:借鉴我们在Cyber Grand Challenge中Cyberdyne的经验,我们设计了Buttercup的分布式架构,确保可扩展性和对故障的弹性。
- 语言多样性:虽然最初针对比赛专注于C和Java,但Buttercup的架构设计为可扩展至其他编程语言。
通过结合这些能力,Buttercup旨在自动化整个漏洞生命周期——从发现到修补——无需人工干预。这种方法不仅满足比赛要求,还推动自动化网络安全的可能边界。
适应比赛限制
比赛并非没有挑战。Buttercup的开发耗时三个月,涉及构建和集成组件以及频繁的进度检查。团队不断适应不断变化的要求和DARPA的新比赛规则,这常常迫使我们重做Buttercup的部分内容。
AIxCC带来了独特挑战,包括严格的四小时时间限制和每个挑战100美元的LLM查询限额,推动我们以最初未预料的方式创新和适应:
- 优化种子生成:我们改进了使用LLM生成高质量模糊测试种子输入的方法,旨在更快发现漏洞。
- 简化工作流:我们的整个流程,从漏洞发现到补丁生成,已优化以在紧张时间限制内工作。
- 优先级策略:我们实施了智能优先级机制,在有限时间内专注于最有希望的线索。
- 高效资源分配:Buttercup动态分配计算资源,以在四小时窗口内最大化生产力。
- 战略使用LLM:每个挑战100美元的LLM查询限额要求仔细预算AI资源,并强调在整个过程中高效、有针对性地使用LLM。
除了时间限制和资源约束,我们还面临其他挑战:
- AI不可预测性:AI的不可预测性要求精确提示以获得有用输出。它生成概率性而非确定性结果。我们的系统使用来自基本测试工具和方法(如模糊测试)的反馈来评估模糊或概率性输出,让团队判断漏洞是真阳性还是假阳性。
- 并行开发:同时构建和集成组件需要卓越的团队合作和适应性。我们的全球团队几乎全天候工作,利用不同时区持续进步。
- 不断变化的要求:我们不断适应DARPA的新信息和规则澄清,有时不得不重新评估和调整方法。
尽管我们认为更宽松的限制将允许发现更深层、更复杂的漏洞,但我们接受这一挑战作为推动快速、自动漏洞发现和修复可能边界的机会。
未来计划
7月15日,我们最终确定并提交Buttercup参加AIxCC半决赛。这一提交展示了我们在漏洞发现、修补和编排方面的工作。我们的短期目标是在DEF CON半决赛中42支团队中进入前七名,并继续开发Buttercup以参加2025年决赛。
展望未来,我们的长期目标是推进AI和ML算法在检测和修补漏洞中的应用,并将该技术转移给政府和行业合作伙伴。我们承诺按照比赛要求发布Buttercup,继续我们为更广泛网络安全社区贡献的理念。
随着我们进入AIxCC这一激动人心的阶段,我们邀请您加入我们的旅程:
- 保持关注:注册我们的新闻通讯,并关注我们在X、LinkedIn和Mastodon的账户,以获取比赛进展更新和AI工作见解。我们的AI/ML团队最近分享了通过报告Ask Astro和Sleepy Pickle的ML模型利用漏洞来帮助保护ML系统的工作。
- 探索我们的开源工作:虽然Buttercup要到明年才开源,但您可以在GitHub上查看我们的其他项目。我们对开源的承诺继续推动网络安全社区的创新。
- 在DEF CON联系我们:如果您参加DEF CON,请来AIxCC村庄向我们的团队问好!我们乐意讨论我们的方法并探索潜在合作。
- 与我们合作:我们帮助公司应用LLM应对网络安全挑战。Buttercup的经验让我们在利用AI进行安全方面拥有独特见解——让我们讨论如何增强您的团队。
AIxCC半决赛只是这一旅程的开始。通过参与这一突破性比赛,我们不仅构建工具,还在塑造网络安全的未来。加入我们,推动自动漏洞发现和修复的可能边界。
半决赛进行中,请关注我们的社交媒体以获取整体进展和团队成就的最新信息。