GitHub为所有Advanced Security(GHAS)许可用户推出了全新的“代码扫描”功能(预览版),旨在帮助开发者搜索GitHub代码中潜在的安全漏洞和编码错误。
利用AI进行代码检测
这项新功能利用了Copilot与CodeQL,能够发现代码中可能存在的漏洞或错误,并对其进行分类和确定修复的优先级。值得一提的是,使用“代码扫描”功能需要消耗GitHub Actions的分钟数。
防止新问题引入
“代码扫描”不仅可以发现问题,还能够防止开发者引入新的错误。此外,它支持在特定日期和时间进行扫描,或在存储库中发生特定事件(例如推送)时触发扫描。
及时警报和修复
一旦AI发现了可能存在的漏洞或错误,GitHub会在仓库中发出警报。用户在修复了触发警报的代码之后,相应的警报会被取消。
监控扫描结果
开发者可以利用web挂钩和code scanning API来监控其仓库或组织的“代码扫描”结果。此外,“代码扫描”还支持与输出静态分析结果交换格式(SARIF)数据的第三方代码扫描工具进行互操作。
多种分析方法
目前,对“代码扫描”的分析主要有三种方法:
使用默认设置在存储库上快速配置CodeQL分析。
使用高级设置将CodeQL工作流添加到存储库,可进行自定义配置。
直接在外部CI系统中运行CodeQL CLI并将结果上传到GitHub。
GitHub承诺,这一AI系统可以修复其发现的三分之二以上的漏洞,因此开发人员无需主动编辑代码。同时,代码扫描自动修复将覆盖其支持的语言中超过90%的告警类型,目前包括JavaScript、Typescript、Java和Python。
通过GitHub的全新代码扫描功能,开发者可以更加方便地确保其代码的安全性,提高开发效率,从而更好地保护用户数据和应用系统的安全。