最近由于C/C++项目代码审计,有时候开发不给相关的依赖库,是件很蛋疼的事情。因为无法使用fortify SCA进行编译。从而就无法扫描分析漏洞缺陷。依靠人工审计,简直是一件很崩溃的事情,对我一个做java代码审计的人来说,不怎么懂C/C++,更别说找什么溢出,内存泄漏,危险函数,越界,空指针......,那就是一场灾难。
所以我就在想能不能找到一款开源的并且不需要编译源代码的开源静态分析工具,通过一天的查资料对比,挑选了三款比较中意的C/C++静态分析工具,CppCheck、TscanCode、flawfinder这三款工具。
从使用方便角度对比:CppCheck ≈ TscanCode>flawfinder
cppCheck和TscanCode都可以图形化界面进行操作,flawfinder只能命令行操作,并且误报比较高(其实不怎么好用,害我研究了一天,就勉强加上它)。
扫描缺陷精准度:TscanCode > cppCheck > flawfinder
关于C/C++静态分析工具对比,鹅厂写了个帖子,非常详细,感兴趣的小伙伴可以去看看:
https://blog.csdn.net/wetest_tencent/article/details/51516347
这篇帖子先来说说cppCheck的安装和使用,其它两款在别的帖子在详细讲解吧。
1.CppCheck的安装下载地址: