GitHub集成Semmle代码分析用于持续漏洞检测 - 技术分享 - 五行资源分享网



GitHub集成Semmle代码分析用于持续漏洞检测

作者头像图片

作者: 五行

网络资源搬砖的爱好者

文章二维码手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,如有侵权请联系!

随着启动Semmle的获得,GitHub旨在将持续漏洞检测作为其持续集成和持续部署服务的一部分。

GitHub的首席执行官Nat Friedman在声明中写道:

Semmle的革命性语义代码分析引擎允许开发人员编写查询,以识别大型代码库中的代码模式,并搜索漏洞及其变体。

 

 

GitHub集成Semmle代码分析用于持续漏洞检测-五行资源分享网-第1张图片

 

Semmle创建了LGTM,这是一个旨在识别软件系统漏洞的连续代码分析平台。 LGTM的核心是Semmle QL,它是一种查询语言和代码搜索引擎,使代码分析能够发现和消除安全漏洞。

QL使用变体分析,一种技术安全工程师通常用来从已知的漏洞开始识别漏洞,该漏洞被视为搜索过程的种子。 换句话说,一旦通过例如笔测试或其他技术来识别漏洞,安全研究人员就会对代码库的其余部分进行审计,以发现类似的问题。 这就是QL自动化和跨多个代码库扩展的过程,允许开发人员编写可以共享和重用的查询。 根据Semmle的说法,他们的解决方案已经被用来识别数千个漏洞,包括开源项目中的100多个CVE..

Semmle分析引擎的一个重要特性是它将代码视为AST级别的数据,而不是使用正则表达式操作的文本。 这是一个示例,说明如何分析一个C函数,该函数在作为参数传递的数组上迭代,并确保在每个调用位置传递一个足够长度的数组:

在上面的片段中,f是函数,c是函数调用,i是用于迭代调用参数的整数,a和b用于存储预期的数组大小和实际的数组大小。 下面的片段旨在确保类的所有公共字段都被声明为最终字段:

正如您所看到的,QL语法是声明式的(有点类似于SQL)和面向对象的。 Semmle目前支持C和C、C#、COBOL、Java、Java脚本和类型脚本以及Python。 去支援正在运作中。

Semmle QL不是一种新产品,已经被许多大公司使用,包括Uber、NASA、微软和谷歌。 这有助于建立一个大型的QL查询库。 根据Semmle的说法,开发人员可以重用数千个开源查询,并在发送新的拉请求时将其作为自动CI管道的一部分执行。

目前,SemmleQL可以通过LGTM使用,它能够连接到您的GitHub帐户,但是GitHub计划通过GitHubActions使它成为它CI/CD服务的组成部分。

分享到:
打赏
未经允许不得转载:

作者: 五行, 转载或复制请以 超链接形式 并注明出处 五行资源分享网
原文地址: 《GitHub集成Semmle代码分析用于持续漏洞检测》 发布于2022-6-11
帖子声明: 本站对文章进行整理、排版、编辑,是出于传递信息之目的, 并不意味着赞同其观点或证实其内容的真实性,不拥有所有权,不承担相关法律责任。

评论

为了防止灌水评论,登录后即可评论!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏