SonarQube源码静态安全扫描工具使用入门

SonarQube介绍

SonarQube是一款开源的自动代码审查平台,可以检测25+的编程语言如Java,C#,JavaScript,TypeScript,C/C++,COBOL等的代码缺陷和安全漏洞,且可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。OWASP收录了该工具,全称为开放式Web应用程序安全项目,是一个非营利组织。

SonarQube源码静态安全扫描工具使用入门

SonarQube安装

  • 官网下载链接:https://www.sonarqube.org/downloads/,下载的版本为Community Edition Version 8.7;
SonarQube源码静态安全扫描工具使用入门
  • 该版本需要安装JDK11,如果JDK版本较低需要下载新版本,否则启动会失败;
  • 下载完成后解压,我的环境为windows10系统,双击bin\windows-x86-64\StartSonar.bat即可启动SonarQube,启动成功记录如下;
SonarQube源码静态安全扫描工具使用入门
  • 提示启动成功后,浏览器访问http://127.0.0.1:9000/即可打开SonarQube分析平台,输入默认账户admin/admin即可登录成功。
SonarQube源码静态安全扫描工具使用入门
  • 安装汉化插件,导航条中点击Administration菜单,搜索Chinese pack进行安装
image.png
  • 关于数据库,SonarQube默认使用内嵌数据库,内嵌数据库仅用于测试场景,推荐使用开源的postgresql,安装并创建好postgresql数据库后修改conf\sonar.properties目录中的如下三项进行数据库设置即可(有关postgresql的下载安装请网上自行搜索相关文档)。
sonar.jdbc.username=test
sonar.jdbc.password=test
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema

SonarQube的使用

  • 创建新项目,根据页面提示创建新项目,选择手工
SonarQube源码静态安全扫描工具使用入门
  • 输入项目信息,根据个人情况自行设置
SonarQube源码静态安全扫描工具使用入门
  • 创建令牌,根据个人情况自行设置,创建令牌成功后点击继续
image.png
  • 配置项目信息,这里以python项目为例,配置信息如下,您需要根据自己的项目和系统信息调整配置,配置好后点击下载
SonarQube源码静态安全扫描工具使用入门
  • 下载并配置扫描器,点击下载后会跳转到一个扫描器下载和配置说明页面,下载扫描器并根据配置说明,在您需要执行扫描的项目根目录新建sonar-project.properties配置文件,配置文件中的test为创建项目的名称。
image.png
# must be unique in a given SonarQube instance
sonar.projectKey=my:test

# --- optional properties ---

# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
  • 将扫描器添加到环境变量,如我添加到环境变量的路径为C:\工具\sonar-scanner-4.6.0.2311-windows\bin,根据您的解压路径进行调整
image.png
  • 执行代码扫描,之前创建项目过程中已经生成了扫描器的执行命令,新打开一个cmd命令行窗口,cd到项目的根目录执行如下命令开始扫描,分析完成记录如下。

注:您需要copy自己新建项目使生成的扫描命令

sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://127.0.0.1:9000" -D"sonar.login=b0de309ea4b6561c9e456bd5946f9a3292b94864"
SonarQube源码静态安全扫描工具使用入门
  • 查看分析结果,刷新http://127.0.0.1:9000/,可以查看项目的扫描结果
image.png

你可能感兴趣的:(SonarQube源码静态安全扫描工具使用入门)