GitHub 与微软联手,AI 助推解决安全债务危机

41 阅读9分钟

微软和 GitHub 集成,利用 AI 加速代码安全修复,解决安全债务问题。

译自:GitHub and Microsoft Use AI To Fix Security Debt Crisis

作者:Darryl K. Taft

Microsoft 及其子公司 GitHub 推出了 Microsoft Defender for Cloud 与 GitHub Advanced Security 之间的原生集成,旨在解决一位高管所称的企业代码库中积累了几十年的安全债务问题。

本周在旧金山举行的 Microsoft Ignite 2025 会议上公布的这项集成现已进入公共预览阶段,它将生产环境中的运行时智能直接连接到开发人员的工作流程中。其目标是帮助组织确定哪些漏洞实际上很重要,并利用人工智能更快地修复它们。

GitHub 产品管理副总裁 Marcelo Oliveira 表示:“在我职业生涯中,我看到漏洞趋势持续上升。无论我们的检测引擎有多好,多么准确,人们就是无法足够快地修复问题。”他曾近十年来从事应用程序安全工作。“这基本上导致企业代码库积累了几十年的安全债务。”

根据行业数据,关键和高危漏洞占安全积压工作量的 17.4%,平均修复时间为 116 天。Microsoft 开发服务、语言和工具高级总监 Andrew Flick 在一篇博文中表示。与此同时,Oliveira 说,应用程序面临的攻击频率高达每三分钟一次。

Microsoft 云和人工智能安全产品营销总监 Elif Algedik 在一篇博文中表示,这项集成代表了运行时智能与开发人员工作流程之间的首次原生连接。

她指出,组织平均每年构建 500 多个新应用程序,随着代码量的增长,开发与安全之间的差距也在扩大。

弥合 DevSecOps 差距

这项集成解决了安全团队和开发团队之间根本性的脱节问题。Oliveira 说,安全团队因告警疲劳而苦苦挣扎,无法区分真实的、可利用的风险和理论上的风险。他补充说,与此同时,开发人员缺乏明确的优先级信号,并且经常花费时间修复可能永远不会在生产环境中被利用的问题。

Flick 将此描述为 DevSecOps 困境。尽管在检测准确性和安全团队与开发人员之间的协作方面有了十年的改进,但修复趋势一直停滞不前。

他在关于集成的博文中写道:“一季又一季,一年又一年,漏洞数量持续上升。”

Flick 认为,问题归结为三个挑战:安全团队淹没在告警疲劳中,而人工智能迅速引入了他们几乎没有时间去理解的新威胁载体;开发人员缺乏明确的优先级,而修复耗时过长;两支团队都依赖于独立的、未集成工具,这使得协作缓慢且令人沮丧。

Oliveira 说:“每次我去新客户那里,看到这个曲线一季又一季、一年又一年地向上攀升,都非常令人沮丧。我会问客户:‘对你们来说,最大的挑战是什么?’对他们来说,这始终是优先级问题。进来太多的告警了。其次,修复这些问题对他们来说成本很高。”

新的集成是双向工作的。当 Defender for Cloud 检测到正在运行的工作负载中的漏洞时,该运行时上下文会流转到 GitHub,向开发人员显示该漏洞是否面向互联网、是否处理敏感数据或是否已在生产环境中暴露。Flick 表示,这是由 GitHub 称之为虚拟注册表的技术驱动的,该技术创建了代码到运行时的映射。

此外,Flick 描述了实际应用场景。

当 Defender for Cloud 检测到面向互联网的、处理敏感数据的 API 中存在漏洞时,该应用程序正在运行并为数千名客户提供服务。他表示,过去,这个告警会在仪表板上积压,而开发人员会忙于处理无关的修复,因为他们不知道这是关键问题。现在,可以在 GitHub 中创建一个安全活动,按运行时风险(如面向互联网的暴露或敏感数据)进行筛选,通知开发人员优先处理此问题。开发人员在其工作流程中查看该问题,了解其重要性,并使用 Copilot Autofix 在几分钟内应用由 AI 建议的修复。

虚拟注册表通过使团队能够快速回答关键问题来实现这一点:这个漏洞是否正在生产环境中运行?它是否暴露在敏感工作负载中?我需要立即采取行动吗?

Oliveira 解释说:“通过结合 Microsoft Defender for Cloud 和 GitHub Advanced Security 的优势,我们能够将安全和开发这两个世界结合起来。安全领导者总是说:‘我想知道这个漏洞是否在某个地方运行。如果不在,我不在乎。我不需要立即采取行动。’但如果它在某个地方运行,如果它暴露程度很高,并且互联网上的任何人都可以访问该服务,如果它处理高度敏感的数据,那就会完全改变局面。”

规模化的代理式修复

除了优先级排序,该集成还利用 GitHub 的人工智能能力来实现 Oliveira 所称的“代理式修复”。他说,使用 Copilot Autofix 和 GitHub Copilot 编码代理,开发人员可以创建安全活动,并将批量漏洞修复分配给 AI 代理。

Oliveira 说:“我们允许您创建一个活动,然后从该活动中将其分配给 Copilot。无论是 10 个漏洞还是 100 个漏洞,Copilot 现在都可以帮助您处理所有潜在的冲突,进行合并,将所有内容创建到一个 PR [拉取请求] 中,验证 CI 管道,并确保所有那些曾经需要开发人员完成的繁琐元素现在都可以为他们自动化。”

然后,开发人员审查 PR,而不是自己完成繁琐的工作。根据 GitHub 的说法,Copilot Autofix 已被证明可以在 PR 中修复 50% 的告警,平均修复时间缩短了 70%。安全活动已修复了 68% 的告警。

与此同时,Algedik 强调了该集成带来的三个切实的优势:团队可以无缝协作,因为安全团队可以直接从 Defender for Cloud 打开和跟踪 GitHub 问题;AI 加速修复,因为 Copilot 辅助修复可以在不中断开发人员流程的情况下解决漏洞;并且团队可以通过将运行时威胁直接映射到代码中的源头来确定最重要的问题。

她写道:“安全、开发和人工智能现在融为一体,更快地发现和修复问题,并创建一个从运行时学习、将见解反馈到开发中,并在人工智能时代重新定义安全应用程序和代理的构建方式的持续反馈循环。”

这种方法代表了 Oliveira 所称的速度与安全之间的旧有权衡的转变。

“速度和创新基本上是以安全为代价的。如果你真的想修复那些不断出现的安全问题,那么它们成本很高,需要时间,”他说。“现在在源头就阻止这些问题,为开发执行提供护栏,极大地减少了这种摩擦。”

内嵌式防护

这项集成建立在 GitHub 两周前发布的 Universe 公告的基础上,该公告将安全验证嵌入到代理式编码工作流程中。他表示,GitHub Copilot 编码代理现在会自动检查依赖项,扫描第一方代码漏洞,并在代码到达开发人员之前捕获硬编码的秘密。

Oliveira 说:“我们不仅帮助您修复现有漏洞,还在所有这些代理式编码代理平台大大增加新代码吞吐量的情况下,减少进入系统的漏洞数量。”

他称之为一种双重策略:对新代码进行内嵌式防护,以及对现有漏洞进行规模化修复。“有史以来编写的代码,99.99999% 已经存在,我们需要真正考虑如何从现有的代码库中获得安全,”他说。“但是,我们也需要通过确保新东西不会进入系统来保持安全。”

平台而非附加组件

Oliveira 还指出,由于 GitHub 的方法本身就集成到了开发平台中,因此它与传统的安全工具有着根本的不同。

“我认为最大的好处是,当我与客户会面时,我从来没有像安全供应商那样,让开发人员说他们购买了解决方案,因为他们的开发人员想要 GitHub 和安全,”他说。“应用程序安全是一项团队运动。如果你的团队里没有开发人员,无论你喊得多大声,都不会有任何改变。”

对于安全团队来说,这项集成意味着能够直接从 Defender for Cloud 打开和跟踪 GitHub 问题,并拥有完整的上下文和漏洞详细信息。进度在双方都可见,使团队无需切换工具即可协作。

Oliveira 说:“我们不是在左移。我们是在将安全转移到平台中。我们正在将其嵌入。我们的目标是通过将其置于平台中,并确保自动完成这些指导和纠正,使安全变得隐形。”

应用安全复兴

Oliveira 表示,他相信人工智能能力和平台集成的结合代表了他所谓的“应用安全复兴”,可以从根本上改变应用程序安全的工作方式。

他告诉 The New Stack:“人们谈论人工智能的双重性,对吧?人工智能可以制造挑战,或者它可以是恶棍或英雄。对我来说,我相信它可以在整个过程中成为一个巨大的英雄。从应用程序安全的角度来看,有了这种预防和修复的概念,我认为我们可以真正创造出我开始称之为‘应用安全复兴’的东西。”

该集成现已进入公共预览阶段。

对于构建云原生应用程序的组织来说,这项集成将有助于保护代码到云,而不会减慢开发速度。

Oliveira 说:“这些编码代理带给我们的这种速度,为我们避免这些权衡提供了机会。”