sonarqube有较大安全隐患(安全测试-SonarQube安装和简单使用)
sonarqube有较大安全隐患(安全测试-SonarQube安装和简单使用)7、帮助程序员写出更干净、更安全的代码。6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。3、支持25 编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C 等。4、涵盖了编程语言的静态扫描规则: 代码编写规范 安全规范。5、能够与代码编辑器、CI/CD平台完美集成。
SonarQube简介SonarQube 是一个开源的代码分析平台 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
sonarQube是什么?
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25 编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C 等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范 安全规范。
5、能够与代码编辑器、CI/CD平台完美集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序员写出更干净、更安全的代码。
SonarQube下载和安装1、下载地址:https://www.sonarqube.org/downloads/
下载后,解压就可以使用
2、选择对应版本下载,最新sonarqube 必须要求jdk 11以上
jdk11地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
建议下载8.4版本,因为目前开发代码很多都是使用JDK8。
3、sonar配置JDK路径:sonarqube目录\conf\wrapper.conf
wrapper.java.command=C:/Program Files/Java/jdk-11.0.7/bin/java
4、启动相应操作系统目录下的StartSonar。
如:win的64位系统,sonarqube-8.4.2.36762\bin\windows-x86-64\StartSonar.bat
5、启动成功显示如下:
6、到浏览器界面 输入 : http://localhost:9000能够进入界面证明安装成功
初始的账户名 : admin 初始的密码 : admin
7.登录成功
sonar扫描描扫主要有2种方式:
(1)使用maven方式扫描
(2)通过SonarScanner方式扫描
对Maven方式的工程,建议直接maven方式扫描,操作如下:
(1)下载maven软件,并且配置maven到系统环境变量
mvn -version显示版本,配置成功
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 配置 Sonar Host地址,默认:http://localhost:9000 -->
<sonar.host.url>
http://127.0.0.1:9000
</sonar.host.url>
</properties>
</profile>
扫描过程根据代码量,代码量比较大,扫描的时间会比较长;扫描完成,可以直接登录管理界面进行查看和分析扫描结果。
通过SonarScanner方式扫描下载地址:https://docs.sonarqube.org/8.4/analysis/scan/sonarscanner/
(1)下载对应版本
(2)解压下载压缩包后将sonar-scanner-4.3.0.2102-windows /bin目录加入到系统环境变量
(3)执行命令,查看版本
(4)在需扫描项目的根目录创建配置文件:sonar-project.properties
# 项目的key唯一不重复即可
sonar.projectKey=test1
# 项目的名字
sonar.projectName=test1
# 项目的版本
sonar.version=1.0
# 需要分析的源码的目录,多个目录用英文逗号隔开
sonar.sources=src
# sonarQube扫描的对象是.class而不是.java文件
sonar.java.binaries=out
# 解析的开发语言,如果需要解析其他语言,需要下载对应的插件
sonar.language=java
#编码格式
sonar.sourceEncoding=UTF-8
(4)进行项目目录,执行sonar-scanner
执行成功如下:
(5)登录管理页面,查看扫描结果
问题(1)maven扫描,报错Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile (default) on project message: protoc did not exit cleanly.
解决方法:将项目转移到全英文路径