感谢GitHub 今天为所有 Advanced Security(GHAS)许可用户推出了全新的“代码扫描”功能(预览版),用于搜索 GitHub 代码中潜在的安全马脚和编码同伴。
这项新功能可利用 Copilot 与 CodeQL(IT之家注:CodeQL 是 GitHub 开发的代码阐明引擎,用于主动执行安全检查)发明你的代码中可能存在马脚或同伴,并且对其进行分类和确定建设的优先级。值得一提的是,“代码扫描”需要消耗 GitHub Actions 的分钟数。
据介绍,“代码扫描”还可防止开发者引入新问题,还支持在一定日期和时间进行扫描,或在保存库中发生一定事件(例如推送)时触发扫描。
如果 AI 发明你的代码中可能存在马脚或同伴,GitHub 就会在堆栈中进行告警,并在用户建设触发警报的代码之后取消告警。
要监控你的堆栈或组织的“代码扫描”结果,你可以运用 web 挂钩和 code scanning API。此外,“代码扫描”也可与输出静态阐明结果交换格式 (SARIF) 数据的第三方代码扫描工具互操作。
目前,对“代码扫描”运用 CodeQL 阐明有三种主要方法:
运用默认设置在保存库上快速配置对“代码扫描”的 CodeQL 阐明。默认设置主动选择要阐明的言语、要运转的盘问套件和触发扫描的事件,如果需要也可以手动选择要运转的盘问套件以及要阐明的言语。启用 CodeQL 后,GitHub Actions 将执行处事流运转以扫描代码。
运用高级设置将 CodeQL 处事流添加到保存库。这会生成一个可自定义的处事流文献,该文献运用 github / codeql-action 运转 CodeQL CLI。
直接在外部 CI 系统中运转 CodeQL CLI 并将结果上传到 GitHub。
GitHub 应承,这一 AI 系统可以建设其发明的三分之二以上的马脚,所以一般来说开发人员无需主动编辑代码。该公司还应承,代码扫描主动建设将覆盖其支持的言语中超过 90% 的告警类型,目前包括 JavaScript、Typescript、Java 和 Python。
参考资料:
《About code scanning – GitHub Docs》
《About code scanning with CodeQL – GitHub Docs》