Sonarqube使用简介---SonarSource总览

tips:第一次写CSDN文章,水平有限,主要想整理下自己这段时间的学习

Sonarqube使用简介(1)

提要:

  1. SonarSource总览
  2. 扫描规则示例
  3. SonarQube简介
  4. SonarLint简介

1.SonarSource总览

SonarSource为代码质量提供了世界一流的解决方案。其开源和商业版本可帮助各种规模的客户管理其应用程序的代码质量,降低风险并最终交付更可靠的软件。

SonarSource提供SonarQube代码管理平台和SonarLint IDE开发插件。SonarQube在持续集成项目中,可以通过jenkins插件在项目中快速实现代码扫描,并且提供了详细的问题分析和bugs修改意见。

全球超过1000多家客户,包括三星、腾讯、招商银行等,并被超过85,000家组织使用。

SonarSource解决方案通过插件形式支持20多种编程语言(如Java,C#,JavaScript,C/C++,TypeScript,COBOL等)开发的代码。

以SonarJava插件为例SonarSource支持498种规则,bugs、vulnerablility、code smell三大类问题,包括Android、api-design、bad-practive等代码质量问题;兼容Cert、CWE和OWASP等安全性代码规约;及代码编写规约。

2.SonarSource持续集成能力

Sonarqube使用简介---SonarSource总览_第1张图片
1. 用户本地使用IDE的插件进行代码分析
2. 用户上传到源代码版本控制服务器
3. 持续集成,使用Sonar Scanner进行扫描
4. 将扫描结果上传到SonarQube服务器
5. SonarQube server将结果写入db
6. 用户通过web ui查看扫描结果
7. SonarQube导出结果到其他需要的服务

3.术语解释

概念 定义
Bug(错误) 标识代码中存在错误,它将在不久的将来爆发出来,它需要立即修复
Code Smell(代码味道) 代码中与可维护性相关的问题。 离开它意味着维护者将更难以修改维护代码。在最坏的情况下,维护人员会在进行更改时引入其他错误,使他们会对代码状态感到困惑。
Remediation Cost(补救成本) 修复漏洞和可靠性问题所需的估计时间。
Security Hotspot(安全热点) 一个与安全相关的问题, 突出显示使用安全敏感 API 的代码段 (例: 使用弱算法, 连接到没有密码的数据库)。
Technical Debt(技术债务) 修复所有可维护性问题/代码味道所需的估计时间
Vulnerability(漏洞) 与安全有关的问题, 它代表攻击者可能攻击的后门。

扫描规则示例

  • SQL注入风险

Sonarqube使用简介---SonarSource总览_第2张图片
执行SQL命令的应用程序应该中和在这些命令中使用的任何外部提供的值。如果不这样做,攻击者可以改变查询的输入,以便执行意外的命令,或者暴露敏感数据。此规则检查来自不同框架的各种方法,如果不正确使用,这些框架可能会受到SQL注入的影响。

  • 链接未关闭
    Sonarqube使用简介---SonarSource总览_第3张图片
    实现Closeable接口或其超级接口AutoCloseable的连接,流,文件和其他类需要在使用后关闭。 此外,该请求必须在最后一个块中进行,否则意外可能导致请求不能进行。 最好当类实现AutoCloseable时,资源应该使用“try-with-resources”模式创建并自动关闭。如果没有恰当地关闭资源,将导致资源泄漏,这可能会在应用程序运行时异常崩溃

待续。。。

你可能感兴趣的:(sonarqube代码扫描,jenkins持续集成)