GitHub 推出了一项由机器学习驱动的新代码扫描分析功能,该代码扫描功能可以针对四种常见漏洞模式显示警报:跨站点脚本 (XSS)、路径注入、NoSQL 注入和 SQL 注入。 新的代码扫描功能由 CodeQL 分析引擎提供支持,启用 CodeQL 来针对某个代码库进行查询,即可识别潜在的安全漏洞。这些开源查询由社区成员和 GitHub 安全专家编写,尽可能多地识别特定漏洞类型的变体,并提供广泛的通用弱点枚举 (CWE) 覆盖范围。 该功能对 JavaScript 和 TypeScript 代码的静态分析,涵盖了整个 OWASP(开放式 WEB 应用程序安全项目)的十大漏洞类型。功能目前处于 beta 版本,侧重于为一些最常见和最危险的漏洞:
-
跨站点脚本(XSS、CWE-79)
路径注入(CWE-22、CWE-23、CWE-36、CWE-73、CWE-99)
NoSQL 注入 (CWE-943)
SQL 注入 (CWE-89)
随着开源生态系统的快速发展,不常用的库越来越多。因此新的扫描功能使用由手动编写的 CodeQL 查询提供的示例,不断地识别同类开源库以及内部开发的闭源库,以此来训练深度学习模型。使用这些模型,CodeQL 可以识别更多不受信任的用户数据流,从而识别更多潜在的安全漏洞。 如何打开该代码扫描功能?
-
对使用 security-extended 或 security-and-quality 其中一个代码扫描分析套件的用户来说,该功能默认开启。
对已在使用代码扫描功能,但未使用上述分析套件的用户,可以通过修改代码扫描操作的工作流配置文件,以启用新的分析功能:
[...] - uses: github/codeql-action/init@v1 with: queries: +security-extended [...]
对未启用代码扫描功能的用户来说,可按照说明为 JavaScript/TypeScript 代码配置分析,并在配置过程中加入上述分析套件。 注意:基于机器学习的实验分析可能具有更高的误报率,与大多数机器学习模型一样,分析结果会随着模型的不断完善而改善。
转载请注明:IT运维空间 » 安全防护 » GitHub 推出基于机器学习的代码扫描分析功能
发表评论