如何使用SonarQube分析代码并查找漏洞?

SonarQube是一款基于Web的工具,可帮助开发人员生成没有安全问题、错误、漏洞、异常和一般问题的代码。如果您在开发一个小项目,那可能很容易,您可以仔细检查代码以发现任何问题。但如果您在开发一个大项目(或众多小项目),可能没时间梳理自己编写的每一行代码。

本文介绍如何使用SonarQube代码分析平台这款工具,以便您可以信任自己或别人编写的代码。

虽然您已安装了一款很不错的基于Web的工具,但使用Sonarqube不像您想象的那么简单。如果您研读一下说明文档,可能会发现让人有点迷糊。

别担心,我会介绍使用Sonarqube扫描“Hello,World!”应用程序(用Java编写)的过程。由于我们最初安装在Ubuntu Server 20.04上,我会继续使用该平台。如果您在不同的操作系统上使用Sonarqube,需要进行必要的调整。

安装Sonar-scanner

这是大多数用户会迷糊的地方。使用Sonarqube进行任何操作之前,必须将sonar-scanner应用程序安装在项目所在的机器上。我会使这个步骤变得更简单,将其安装在托管Sonarqube的同一台服务器上。以下是您的操作方法。

登录到托管Sonarqube的服务器,使用以下命令安装几个依赖项:

 
 
 
 
  1. sudo apt-get update && sudo apt-get install unzip wget nodejs -y

一旦安装了那些依赖项,使用以下命令创建一个新目录:

 
 
 
 
  1. mkdir sonarqube

使用以下命令切换进入该目录:

 
 
 
 
  1. cd sonarqube

下载sonar-scan文件:

 
 
 
 
  1. wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip

解压缩下载的文件:

 
 
 
 
  1. unzip sonar-scanner-cli-4.2.0.1873-linux.zip

最后,使用以下命令移动新创建的文件夹:

 
 
 
 
  1. sudo mv sonar-scanner-4.2.0.1873-linux / opt / sonar-scanner

接下来,我们需要使用以下命令创建sonar-scan配置文件:

 
 
 
 
  1. sudo nano /opt/sonar-scanner/conf/sonar-scanner.properties

在该文件中,粘贴以下内容:

 
 
 
 
  1. sonar.host.url=http://SERVER:9000
  2. sonar.sourceEncoding=UTF-8

其中SERVER是托管服务器的IP地址。

保存并关闭文件。

现在,我们将创建另一个配置文件,该文件将设置必要的$ PATH变量。执行以下命令:

 
 
 
 
  1. udo nano /etc/profile.d/sonar-scanner.sh

在该文件中,粘贴以下内容:

 
 
 
 
  1. #/bin/bash
  2. export PATH="$PATH:/opt/sonar-scanner/bin"

保存并关闭文件。

使用以下命令将sonar-scanner添加到您的路径:

 
 
 
 
  1. source /etc/profile.d/sonar-scanner.sh

使用以下命令验证sonar-scanner在正常运行:

 
 
 
 
  1. sonar-scanner -v

您应该看到几个工具的版本号。成功了!您可以开始进行第一次扫描了。

如何扫描您的代码?

不妨创建一个Hello, World!应用程序示例。使用以下命令创建一个新目录:

 
 
 
 
  1. mkdir Java

使用以下命令切换进入该文件夹:

 
 
 
 
  1. cd Java

使用以下命令创建代码文件:

 
 
 
 
  1. nano helloworld.java

在该文件中,粘贴以下内容:

 
 
 
 
  1. // Your Hello, World! java application
  2. class HelloWorld {
  3.     public static void main(String[] args) {
  4.         System.out.println("Hello, World!");
  5.     }
  6. }

保存并关闭文件。

现在,回到Sonarqube Web界面,创建一个新项目(图1)。

图1:点击“创建新项目”,开始该过程

在随后弹出的窗口(图2)中,为新项目指定键和显示内容的名称。

图2:在Sonarqube中命名新项目

在下一个窗口(图3)中,您必须为项目生成令牌。为令牌命名,然后点击“生成”。

图3:为新项目生成令牌

然后,您将不得不给令牌赋予另一个名称,然后点击“生成”。这将为您显示令牌。复制并保存该令牌(因为以后的扫描将需要它)。

点击“继续”,进入到下一步。在此窗口(图4)中,选择项目的构建技术(我们将选择“其他”)。

图4:为您的项目选择构建技术

然后将提示您输入有待扫描的操作系统。在本例中,我们将选择Linux。选择完毕后,您会看到在计算机上运行的命令(图5)。回到终端窗口,将该命令粘贴到窗口中。

图5:Sonarqube显示了您用于扫描的命令

从您的项目目录内运行扫描,它将完成扫描工作。片刻之后(取决于项目的大小),它将结束扫描,扫描结果会显示在Sonarqube Web GUI中(图6)。

图6:我们的扫描结果显示了一个非常干净的项目

明白了,这是一个简单的Hello,World!例子。如果您的项目较大,扫描会花费较长的时间,扫描结果可能不像图6所示。因此,请阅读Sonarqube报告,解决报告的所有问题。

这是确保您代码尽可能干净、没有问题的好方法。别靠自己单独完成这项任务。仅需几个额外的步骤,您就可以借助一个平台,更快速、更可靠地完成这项任务。

新闻标题:如何使用SonarQube分析代码并查找漏洞?
当前路径:http://www.shufengxianlan.com/qtweb/news20/457420.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联