GitHub 揭晓 几天前添加的 机器学习系统实验l 扫码服务 识别常见类型的漏洞 在代码中。 有了这个,GitHub 的基于 CodeQL 的代码分析技术得到了改进,现在使用机器学习 (ML) 来查找代码中的潜在安全漏洞。
就是 GitHub 获得 CodeQL 技术 作为收购 Semmie 的一部分。 安全研究团队使用 CodeQL 对代码进行语义分析,GitHub 将其开源。
使用这些模型,CodeQL 可以识别更多不受信任的用户数据流,从而识别更多潜在的安全漏洞。
据观察,机器学习系统的使用使得显着扩大已识别问题的范围成为可能,在其分析中,系统现在不仅限于验证典型模式,也不受已知框架的约束。
在新系统发现的问题中,提到了导致跨站脚本 (XSS) 的错误、文件路径的扭曲(例如,通过指示“/..”)、SQL 和 NoSQL 查询的替换。
通过利用新的深度学习模型,代码扫描现在可以发现更多潜在的安全漏洞。 此实验性功能在 GitHub.com 上的 JavaScript 和 TypeScript 存储库的公共测试版中可用。
GitHub 的新工具 fue 作为免费公开测试版发布 对于所有用户,该功能使用机器学习和深度学习来扫描代码库并在产品发货前识别常见的安全漏洞。
该实验性功能目前可供所有平台用户使用,包括 GitHub Enterprise 用户作为 GitHub 高级安全功能,可用于用 JavaScript 或 TypeScript 编写的项目。
随着开源生态系统的快速发展,使用频率较低的库越来越长。 我们使用手动创建的 CodeQL 查询中的示例来训练深度学习模型以识别开源库以及内部开发的闭源库。
工具 旨在寻找四个最常见的漏洞 影响以这两种语言编写的项目: 跨站点脚本 (XSS)、路由注入、NoSQL 注入和 SQL 注入。
代码扫描服务允许您通过扫描每个 git push 操作以发现潜在问题,从而在开发的早期阶段检测漏洞。
结果直接附加到拉取请求. 以前,检查是使用 CodeQL 引擎完成的,该引擎通过典型的易受攻击代码示例分析模式(CodeQL 允许您生成易受攻击代码的模板,以检测其他项目代码中是否存在类似漏洞)。
借助新的分析功能,代码扫描可以针对四种常见漏洞模式生成更多警报:跨站点脚本 (XSS)、路径注入、NoSQL 注入和 SQL 注入。 这四种漏洞类型共同代表了 JavaScript/TypeScript 生态系统中的许多近期漏洞 (CVE),提高代码扫描能力以在开发过程早期检测此类漏洞是帮助开发人员编写更安全代码的关键。
新的机器学习引擎 可以识别以前未知的漏洞 因为它与描述特定漏洞的代码模式的迭代无关。 与基于 CodeQL 的检查相比,这种机会的代价是误报数量增加。
最后 对于那些有兴趣了解更多信息的人,您可以查看详细信息 在下面的链接中。
另外值得一提的是,在测试阶段,新功能目前仅适用于带有 JavaScript 和 TypeScript 代码的存储库。