今天(3月21日)早些时候,Sentry 宣布了用于调试生产代码的 AI Autofix 功能,现在,几个小时后,GitHub 推出了其代码扫描自动修复功能的第一个测试版,用于在编码过程中查找和修复安全漏洞。这项新功能将 GitHub 的 Copilot 的实时功能与该公司的语义代码分析引擎CodeQL相结合。该公司于去年 11 月首次预览了此功能。 GitHub 承诺,这个新系统可以修复其发现的三分之二以上的漏洞——通常无需开发人员自己编辑任何代码。该公司还承诺,代码扫描自动修复将覆盖其支持的语言中 90% 以上的警报类型,目前支持的语言包括 JavaScript、Typescript、Java 和 Python。 此新功能现已可供所有GitHub Advanced Security (GHAS) 客户使用。 GitHub 在今天的公告中写道:“就像GitHub Copilot 让开发人员从繁琐重复的任务中解脱出来一样,代码扫描自动修复将帮助开发团队节省以前花在修复上的时间。安全团队也将受益于日常漏洞数量的减少,因此他们可以专注于保护业务的策略,同时跟上加快的开发速度。” 在后台,这项新功能使用CodeQL 引擎(GitHub 的语义分析引擎)来查找代码中的漏洞,甚至在代码执行之前。该公司在收购了 CodeQL 孵化地代码分析初创公司 Semmle后,于 2019 年底向公众推出了第一代 CodeQL。多年来,它对 CodeQL 进行了许多改进,但有一件事从未改变,那就是 CodeQL 仅免费供研究人员和开源开发人员使用。 现在,CodeQL 是这个新工具的核心,尽管 GitHub 还指出,它使用“启发式方法和 GitHub Copilot API 的组合”来建议修复。为了生成修复及其解释,GitHub 使用了 OpenAI 的 GPT-4 模型。虽然 GitHub 显然有足够的信心表明绝大多数自动修复建议都是正确的,但该公司并不认为“一小部分建议的修复会反映出对代码库或漏洞的严重误解。”
|