暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

大鑫笔记 2021-09-10
1954

SonarQube介绍

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


SonarQube安装

  • 官网下载链接:https://www.sonarqube.org/downloads/,下载的版本为Community Edition Version 8.7;


  • 该版本需要安装JDK11,如果JDK版本较低需要下载新版本,否则启动会失败;

  • 下载完成后解压,我的环境为windows10系统,双击bin\windows-x86-64\StartSonar.bat即可启动SonarQube,启动成功记录如下;


  • 提示启动成功后,浏览器访问http://127.0.0.1:9000/即可打开SonarQube分析平台,输入默认账户admin/admin即可登录成功。


  • 安装汉化插件,导航条中点击Administration菜单,搜索Chinese pack进行安装


  • 关于数据库,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的使用

  • 创建新项目,根据页面提示创建新项目,选择手工


  • 输入项目信息,根据个人情况自行设置


  • 创建令牌,根据个人情况自行设置,创建令牌成功后点击继续


  • 配置项目信息,这里以python项目为例,配置信息如下,您需要根据自己的项目和系统信息调整配置,配置好后点击下载


  • 下载并配置扫描器,点击下载后会跳转到一个扫描器下载和配置说明页面,下载扫描器并根据配置说明,在您需要执行扫描的项目根目录新建sonar-project.properties配置文件,配置文件中的test为创建项目的名称。


# 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,根据您的解压路径进行调整


  • 执行代码扫描,之前创建项目过程中已经生成了扫描器的执行命令,新打开一个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"


  • 查看分析结果,刷新http://127.0.0.1:9000/,可以查看项目的扫描结果



文章转载自大鑫笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论