checkmarx使用笔记

Posted 范世强的笔记(SEC-fsq)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了checkmarx使用笔记相关的知识,希望对你有一定的参考价值。

checkmarks是一款商业的代码静态分析工具,和pmd类似的地方是他分析的是java文件,而非class文件。checkmarks使用 .net开发,必须安装在windows上,它的规则也是类似.net语言的语法。

checkmarks 的工作机制大概如下:

1、创建任务时可以通过git、svn、或者上传代码打包。

2、checkmarks会将代码进行语法树解析。

3、然后分析代码中的数据流,并将整个代码中的数据流存储到数据库中,可以理解成一张庞大的数据流网,这个分析比较吃内存。

4、然后匹配规则,规则也叫query,就是从整个数据流网中找到我们关心的数据流。比如数据流的起点是request.getparameter("url")的调用,终点是 httpClient.exec,这样我们来判断是否存在ssrf漏洞。

 

自定义规则:

checkmarks的规则就是一个一个的查询,这个查询定义了如何从数据流网中找到我们关心的数据流。

checkmarks内置了大量的函数,100多个吧,我们利用这种函数找到数据流的起点,终点。当然也可以的定义过滤点,比如某个安全API的调用作为一个过滤点,过滤掉已经修复的安全风险。

 

不足之处:

目前checkmarks的问题还是比较多的,虽然支持了各类的语言,但是默认的规则基本上实用性比较差,需要花很多时间去自己编写规则。

目前不支持模块引擎语言,比如velocity、freemarker、thymeleaf等的分析

对前后端分离的项目分析不友好,不支持 vue、react等框架文件的分析。

 checkmarks封装死了,没法做定制开发,不够灵活。

以上是关于checkmarx使用笔记的主要内容,如果未能解决你的问题,请参考以下文章

第38篇:Checkmarx代码审计/代码检测工具的使用教程

Spring data JPA Checkmarx 漏洞-@Query 注解的资源访问授权不当

Checkmarx 高亮代码为 sqlinjection 漏洞

如何在 SAST Checkmarx 之后解决 API 控制器中的 XSRF 跨站请求伪造 (CSRF)

checkmarx下载地址

Checkmarx VisualStudio plugin installation process.