使用SonarQube检测c++代码漏洞

使用SonarQube检测c++代码漏洞

今天我们来学习如何搭建SonarQube并使用SonarQube来检测c++的代码漏洞。

准备工作

  1. .dk11安装包
  2. sonar-scanner部分安装包
  3. 中文包sonar-l10n-zh-plugin-1.16
  4. cppcheck安装包
  5. mysql安装包(如果未涉及到数据库的代码检测,此部分可以不准备)
  6. 下载地址

注意事项

  1. SonarQube的版本,推荐安装7.9.1版本的,此版本支持较多插件,属于稳定版本,使用起来比较方便。
  2. 设置环境变量的时候,碰到过不生效的情况,如果按照流程操作无误,在仔细核对路径没有问题后,重启下电脑。重新拉起sonar服务,试一下,如果还不行,喝杯茶。笔者碰到过,头天晚上不生效,第二天就可以了的情况。
  3. 报错调试:在碰到报错时,用网页翻译一下,看下是什么报错,再根据报错信息解决问题。
  4. 每次重启电脑或者把sonar的服务关闭后,都要重新进入到bin目录下,重新把sonar的服务拉起来,才能在网页上访问到。否则的话,服务不在的。

安装步骤

1.安装jdk11

这里参考另外的一篇文章进行安装,此文写的十分详细,我在这里就不赘述了。
JDK11 JAVA11下载安装与快速配置环境变量教程

2.安装sonar

在安装好jdk11以后,我们再来装SonarQube的主体部分。

1.解压缩sonar主体程序到指定路径下,路径可随意选择,但路径中不要有中文。

2.放入中文包sonar-l10n-zh-plugin-1.16到安装目录下D:\Program Files\sonar\sonarqube-7.9.1\extensions\plugins(这个是我的安装路径)

3.接下来同理放入c++的规则,同样的目录下,放入sonar-cxx-plugin-1.3.1.1807.jar
使用SonarQube检测c++代码漏洞_第1张图片

3.安装sonar-scanner

1.解压sonar-scanner压缩包到指定位置,并复制路径,设置系统环境变量。
使用SonarQube检测c++代码漏洞_第2张图片
使用SonarQube检测c++代码漏洞_第3张图片

2.设置完成后,重新打开命令行 win+R cmd

3.输入sonar-runner -version,如果显示下图,则配置成功
使用SonarQube检测c++代码漏洞_第4张图片

4.安装cppcheck

1.本次我们同样将cppcheck安装在本地,所以同上,可以自由指定安装目录,但同样不要有中文(这个是我的安装目录)。
使用SonarQube检测c++代码漏洞_第5张图片

2.设置环境变量
使用SonarQube检测c++代码漏洞_第6张图片

3.完成后,点击确定,win+R 输入cmd,在命令行输入命令:cppcheck

4.如果出现如图效果,则配置成功。
使用SonarQube检测c++代码漏洞_第7张图片
5.安装mysql
因为我在安装的时候没有涉及到数据库代码的检测,我使用的sonar自带数据库,详细配置可以参考下sonar数据库相关配置。稍后我会补充此部分。

  • 至此,所有配置完毕,如果有环境变量不生效,需要重启电脑即可。

相关配置

1.启动sonar
打开sonar安装目录下的StartSonar.bat,拉起sonar的服务
使用SonarQube检测c++代码漏洞_第8张图片
如图所示,即为正确拉起服务
使用SonarQube检测c++代码漏洞_第9张图片
2.然后打开浏览器,访问 http://localhost:9000
使用SonarQube检测c++代码漏洞_第10张图片
点击登录,默认账户名/密码:admin/admin
3.激活scm
使用SonarQube检测c++代码漏洞_第11张图片
4.规则配置
质量配置->创建 添加新的规则
使用SonarQube检测c++代码漏洞_第12张图片
激活更多规则
使用SonarQube检测c++代码漏洞_第13张图片
点击批量修改
使用SonarQube检测c++代码漏洞_第14张图片
选择刚刚添加的规则,点击应用,等待一下即可。
激活完毕后,可以在这里看到规则数量。
使用SonarQube检测c++代码漏洞_第15张图片
至此配置完毕,可以开始检测代码。

检测步骤

1.输入名称后,随意创建一个令牌
使用SonarQube检测c++代码漏洞_第16张图片
使用SonarQube检测c++代码漏洞_第17张图片
2.复制执行命令,到cmd中要检测的根目录下执行
使用SonarQube检测c++代码漏洞_第18张图片
使用SonarQube检测c++代码漏洞_第19张图片
3.返回网页刷新,即可看到分析结果
使用SonarQube检测c++代码漏洞_第20张图片

windows常用命令

1.windows常用命令(这个在检测的时候用得到)

参考文档

1.jdk安装参考
2.cpp安装,规则安装参考
3.sonar-scanner安装参考
4.配置选项中文说明

你可能感兴趣的:(sonar,c++,windows,sonar-scanner)