【.com速译】SonarQube是一个基于网络的工具,可以帮助开发人员生成没有安全问题、错误、漏洞、异常和一般问题的代码。如果您正在处理一个小项目,可能很容易通过代码来查找任何问题。但是,如果您正在从事一个大项目(或许多小项目),您可能没有时间梳理您编写的每一行代码。本文介绍如何使用SonarQube代码分析平台工具,让您可以信任自己或他人编写的代码。尽管您已经安装了一个不错的基于Web的工具,但使用Sonarqube并不像您想象的那么简单。如果您研究文档,可能会有点混乱。别担心,我将逐步介绍扫描“Hello,World!”的过程。使用Sonarqube的应用程序(用Java编写)。由于我们最初是在UbuntuServer20.04上安装的,所以我会坚持使用该平台。如果您在不同的操作系统上使用Sonarqube,则需要进行必要的调整。安装Sonar-scanner这是大多数用户感到困惑的地方。在使用Sonarqube进行任何操作之前,必须在项目所在的机器上安装sonar-scanner应用程序。通过将它安装在托管Sonarqube的同一台服务器上,我可以简化此步骤。这是你如何做的。登录到托管Sonarqube的服务器并安装几个依赖项:sudoapt-getupdate&&sudoapt-getinstallunzipwgetnodejs-y安装这些依赖项后,创建一个新目录:mkdirsonarqube更改到该目录:cdsonarqube下载声纳扫描文件:wgethttps://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip解压下载的文件:unzipsonar-scanner-cli-4.2.0.1873-linux.zip最后,使用命令移动新创建的文件夹:sudomvsonar-scanner-4.2.0.1873-linux/opt/sonar-scanner接下来,我们需要使用命令创建sonar-scan配置文件:sudonano/opt/sonar-scanner/conf/sonar-scanner.properties在该文件中,粘贴以下内容:sonar.host.url=http://SERVER:9000sonar.sourceEncoding=UTF-8其中SERVER是托管服务器的IP地址。保存并关闭文件。现在,我们将创建另一个配置文件来设置必要的$PATH变量。执行以下命令:udonano/etc/profile.d/sonar-scanner.sh在此文件中,粘贴以下内容:#/bin/bashexportPATH="$PATH:/opt/sonar-scanner/bin"保存并关闭文件.使用以下命令将声纳扫描仪添加到您的路径:source/etc/profile.d/sonar-scanner.sh使用以下命令验证声纳扫描仪是否正确运行:sonar-scanner-v您应该会看到几个工具版本号。成功!您已准备好进行第一次扫描。如何扫描您的代码?让我们创建一个示例Hello,World!应用。使用以下命令创建一个新目录:mkdirJava更改为以下文件夹:cdJava创建一个代码文件:nanohelloworld.java在此文件中,粘贴以下内容://YourHello,World!javaapplicationclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}保存并关闭文件。现在,返回到SonarqubeWeb界面并创建一个新项目(图1)。图1:单击“创建新项目”开始流程在随后弹出的窗口(图2)中,为新项目指定显示内容的键和名称。图2:在Sonarqube中命名新项目在下一个窗口(图3)中,您必须为该项目生成一个令牌。为令牌命名并单击生成。图3:为新项目生成令牌然后您必须给令牌另一个名称并点击“生成”。这将向您显示令牌。复制并保存此令牌(因为您将需要它用于将来的扫描)。点击“继续”进入下一步。在此窗口(图4)中,为项目选择构建技术(我们将选择“其他”)。图4:为您的项目选择一种构建技术,然后系统将提示您选择要扫描的操作系统。在这个例子中,我们将选择Linux。做出选择后,您将看到命令在您的计算机上运行(图5)。返回终端窗口,将命令粘贴到窗口中。图5:Sonarqube显示用于扫描的命令从项目目录中运行扫描,它将完成工作。片刻之后(取决于项目的大小),它将结束扫描,扫描结果将显示在SonarqubeWebGUI中(图6)。图6:我们的扫描结果显示一个非常干净的项目知道了,这是一个简单的Hello,World!例子。如果您的项目很大,扫描会花费很长时间,扫描结果可能不会如图6所示。因此请阅读Sonarqube报告并修复报告的任何问题。这是确保您的代码尽可能干净和无错误的好方法。不要独自完成这项任务。只需几个额外的步骤,您就可以在一个平台上更快、更可靠地完成这项工作。原标题:HowtoAnalyzeCodeandFindVulnerabilitieswithSonarQube,作者:JackWallen
