GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

栏目: IT资讯 · 发布时间: 2年前

内容简介:今天,GitHub 更新一项实验版新功能。用上机器学习后,新版 CodeQL 代码扫描服务可以帮开发者发现更多安全漏洞。目前在 JavaScript 和 TypeScript 存储库上开发测试,以后会逐步增加各种语言支持

今天,GitHub 更新一项实验版新功能。用上机器学习后,新版 CodeQL 代码扫描服务可以帮开发者发现更多安全漏洞。

目前在 JavaScript 和 TypeScript 存储库上开发测试,以后会逐步增加各种语言支持。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

在测试期间,CodeQL 已经从 12,000 个存储库中发现了超过 20,000 个安全问题,包括远程代码执行(RCE)、 SQL 注入和跨站脚本(XSS)漏洞。

如何使用

GitHub 的 CodeQL 代码扫描对于公共存储库是免费的

目前,新的 JavaScript / TypeScript 分析工具,已向 security-extended 和 security-and-quality 分析套件的所有用户推出。

如果你已经在使用这些套件,那么将自动使用新的机器学习技术进行分析。

如果你之前没使用过,可按照以下步骤启用 CodeQL。

1、在你的存储库主页下,单击 Security

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

3、在 Code scanning alerts 右侧,点击 Set up code scanning。如果缺少这一项,需要由存储库管理员启用 GitHub 高级安全性。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

4、在“Get started with code scanning”下,单击在 CodeQL Analysis 中的 Set up this workflow。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

5、使用 Start commit 下拉菜单,输入文件名并提交。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

6、选择直接提交到默认分支,还是创建一个新分支并启动拉取请求。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

8、单击提交新文件。

代码扫描分析成功后,用户将在“Security”选项卡中看到安全警报信息

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

为何用 ML 能产生更好效果

为了检测存储库中的漏洞,CodeQL 引擎首先构建了一个数据库,对代码的特殊关系表示进行编码,然后在数据库上执行一系列 CodeQL 查询。

但随着开源生态系统的快速发展,长尾效应越来越明显。

安全专家不断扩展和改进这些查询,对其他常见库和已知模式进行建模。然而,手动建模很耗时,而且总会有一些无法手动建模的不太常见的库和私有代码。

这时候机器学习就派上了用场。通过给定大量训练代码片段,每个查询都标记为正面或负面样本,为每个片段提取特征,并训练深度学习模型对新示例进行分类。

GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript

GitHub 不是将每个代码片段简单地视为一串单词或字符,直接应用标准 NLP 技术对这些字符串进行分类,而是利用 CodeQL 访问有关底层源代码的大量信息,为每个代码片段生成一组丰富的 feature,然后像 NLP 那样对它们进行标记和子标记。

由此从训练数据中生成一个词汇表,并将索引列表输入到深度学习分类器中,输出当前样本是每种漏洞的概率。

虽然现在基于 ML 的漏洞扫描仅适用于 JavaScript / TypeScript,但 GitHub 承诺未来会支持更多语言,现在 CodeQL 已经支持了 PythonGo 、C / C++ 在内的多种流行语言。

最后,GitHub 还强调,虽然全新 工具 可以发现更多漏洞,但也有可能提高误报率(召回率约为 80%,精度约为 60%)。未来这项功能会随着时间推移而改善。

参考链接:

[1]https://github.blog/2022-02-17-code-scanning-finds-vulnerabilities-using-machine-learning/

[2]https://github.blog/2022-02-17-leveraging-machine-learning-find-security-vulnerabilities/

[3]https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository


以上所述就是小编给大家介绍的《GitHub 免费提供机器学习扫描代码漏洞,现已支持 JavaScript / TypeScript》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Docker开发指南

Docker开发指南

[英] Adrian Mouat / 黄彦邦 / 人民邮电出版社 / 2017-4 / 79.00元

Docker容器轻量和可移植的特性尤其适用于动态和分布式的环境,它的兴起给软件开发流程带来了一场革命。本书对Docker进行了全面讲解,包括开发、生产以至维护的整个软件生命周期,并对其中可能出现的一些问题进行了探讨,如软件版本差异、开发环境与生产环境的差异、系统安全问题,等等。一起来看看 《Docker开发指南》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换