社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

极市平台 • 3 年前 • 249 次点击  
↑ 点击蓝字 关注极市平台

来源丨量子位
编辑丨极市平台

极市导读

 

在测试期间,CodeQL已经从12,000个存储库中发现了超过20,000个安全问题,包括远程代码执行(RCE)、SQL 注入和跨站脚本(XSS)漏洞。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

今天,GitHub更新一项实验版新功能。

用上机器学习后,新版CodeQL代码扫描服务可以帮开发者发现更多安全漏洞。

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

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

如何使用

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

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

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

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

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

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

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

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

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

8、单击提交新文件。

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

为何用ML能产生更好效果

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

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

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

这时候机器学习就派上了用场。

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

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

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

虽然现在基于ML的漏洞扫描仅适用于JavaScript/TypeScript,但GitHub承诺未来会支持更多语言,现在CodeQL已经支持了Python、Go、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


公众号后台回复“数据集”获取50+深度学习数据集下载~

△点击卡片关注极市平台,获取最新CV干货
极市干货
数据集资源汇总:10个开源工业检测数据集汇总21个深度学习开源数据集分类汇总开源真实场景图像检测数据集汇总
算法trick目标检测比赛中的tricks集锦从39个kaggle竞赛中总结出来的图像分割的Tips和Tricks
技术综述:一文弄懂各种loss function工业图像异常检测最新研究总结(2019-2020)


CV技术社群邀请函 #

△长按添加极市小助手
添加极市小助手微信(ID : cvmart4)

备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)


即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群


每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~


觉得有用麻烦给个在看啦~  
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128529
 
249 次点击