使用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
在这里插入图片描述

3.安装sonar-scanner

1.解压sonar-scanner压缩包到指定位置,并复制路径,设置系统环境变量。
在这里插入图片描述
在这里插入图片描述

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

3.输入sonar-runner -version,如果显示下图,则配置成功
在这里插入图片描述

4.安装cppcheck

1.本次我们同样将cppcheck安装在本地,所以同上,可以自由指定安装目录,但同样不要有中文(这个是我的安装目录)。
在这里插入图片描述

2.设置环境变量
在这里插入图片描述

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

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

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

相关配置

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

检测步骤

1.输入名称后,随意创建一个令牌
在这里插入图片描述
在这里插入图片描述
2.复制执行命令,到cmd中要检测的根目录下执行
在这里插入图片描述
在这里插入图片描述
3.返回网页刷新,即可看到分析结果
在这里插入图片描述

windows常用命令

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

参考文档

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

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值