对于漏洞来说,这是糟糕的一天。今天早些时候,Sentry 发布了用于调试生产代码的 AI Autofix 功能,几小时后,GitHub 又推出了代码扫描自动修复功能的首个测试版,用于在编程过程中查找和修复安全漏洞。这项新功能结合了 GitHub Copilot 的实时功能和公司的语义代码分析引擎 CodeQL。该公司于去年 11 月首次预览了这一功能。

GitHub 承诺,这一新系统可以修复其发现的三分之二以上的漏洞--通常开发人员无需亲自编辑任何代码。该公司还承诺,代码扫描自动修复功能将覆盖其支持语言(目前包括 JavaScript、Typescript、Java 和 Python)中 90% 以上的警报类型。

现在,所有 GitHub 高级安全(GHAS)客户都可以使用这项新功能。

打开网易新闻 查看更多图片

GitHub Copilot 中的代码扫描自动修复功能

GitHub 在今天的公告中写道:"正如 GitHub Copilot 为开发人员减轻了繁琐的重复性工作一样,代码扫描自动修复将帮助开发团队收回以前用于修复的时间。安全团队也将受益于日常漏洞数量的减少,这样他们就可以专注于保护业务的策略,同时跟上加快的开发步伐。"

在后台,这项新功能使用了 GitHub 的语义分析引擎 CodeQL 引擎,甚至在代码执行之前就能发现代码中的漏洞。该公司在收购代码分析初创公司 Semmle 后,于 2019 年底向公众提供了第一代 CodeQL,CodeQL 就是在该公司孵化的。多年来,该公司对 CodeQL 进行了一系列改进,但有一点从未改变,那就是 CodeQL 只免费提供给研究人员和开源开发人员使用。

现在,CodeQL 成为了这款新工具的核心,不过 GitHub 也指出,它使用了"启发式和 GitHub Copilot API 的组合"来提出修复建议。为了生成修复及其解释,GitHub 使用了 OpenAI 的 GPT-4 模型。虽然 GitHub 确信绝大多数自动修复建议都是正确的,但该公司并不认为"一小部分修复建议反映了对代码库或漏洞的重大误解"。