随着启动Semmle的获得,GitHub旨在将持续漏洞检测作为其持续集成和持续部署服务的一部分 。
GitHub的首席执行官Nat Friedman在声明中写道:
Semmle的革命性语义代码分析引擎允许开发人员编写查询,以识别大型代码库中的代码模式,并搜索漏洞及其变体 。
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代码分析用于持续漏洞检测】
猜你喜欢
- 系统集成项目管理工程师 计算机系统集成项目经理证书
- git命令clone代码到本地 从github上clone代码速度
- 集成吊顶价格,集成吊顶图片卫生间
- 集成墙面十大公认品牌,百强板材
- 笔记本集成和独立显卡哪个好 电脑集显和独显有什么区别
- 集成吊顶怎么拆卸一块铝扣板 厨房扣板怎么拆最简单
- 集成灶与油烟机的优劣势分析 厨房选集成灶还是油烟机
- 集成灶的优点和缺点 为什么设计师不推荐使用集成灶
- 集成吊顶安装步骤
- 北京安达信通系统集成有限公司怎么样?
