服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 编程技术 - SonarQube检查项目中是否存在秘钥信息

SonarQube检查项目中是否存在秘钥信息

2021-04-22 23:40DevOps云学堂Lizeyang 编程技术

作为管道的一部分,我们开始将SonarQube用于代码质量,因为SonarQube已集成到开发人员的IDE中,所以此验证发生在开发人员提交其代码之前。我们决定利用SonarQube来进一步检查易受攻击的编码模式。

SonarQube检查项目中是否存在秘钥信息

持续集成和交付(CI / CD)管道旨在支持每天数以万计的部署。生产部署的频率不能以牺牲安全为代价,安全流程也需要与CI / CD管道集成在一起。这就是为什么我们在从开发到生产的流水线的每个步骤中都添加了持续的安全验证,以帮助确保我们的应用程序始终是安全的。

SonarQube检查项目中是否存在秘钥信息

作为管道的一部分,我们开始将SonarQube用于代码质量,因为SonarQube已集成到开发人员的IDE中,所以此验证发生在开发人员提交其代码之前。我们决定利用SonarQube来进一步检查易受攻击的编码模式。

在此过程中,我们使用了现有的出色插件,例如Java的Findsecbugs,我们从Sonar Secrets开始向开发人员提供早期反馈,提醒他们使用硬编码凭据所带来的安全风险。尽早为开发人员提供反馈,使我们可以将安全控制权向左移动,从而使开发人员可以在生产代码投入使用之前达到内部定义的安全标准。

为了保护我们的用户,合作伙伴和员工,我们的服务旨在使用加密的密钥库来保护所有相关的敏感数据。然后,开发人员可以使用变量在代码中引用此数据,而不必对值进行硬编码。

构建打包

 

SonarQube™的Sonar Secrets插件https://github.com/Skyscanner/sonar-secrets —由Skyscanner产品安全小组创建,旨在识别硬编码的机密,例如密码,API令牌,AWS凭证等。

SonarQube检查项目中是否存在秘钥信息

  1. cd sonar-secrets/java && mvn clean package 
  2. cd sonar-secrets/javascript && mvn clean package 

build成功会提示以下信息:

  1. ... 
  2. [INFO] BUILD SUCCESS 
  3. [INFO] ------------------------------------------------------------------------ 
  4. [INFO] Total time: 7.065 s 
  5. [INFO] Finished at: 2017-10-26T05:00:33-04:00 
  6. [INFO] Final Memory: 23M/252M 
  7. [INFO] ------------------------------------------------------------------------ 

sonar-secrets-java-x.x.jar 在 sonar-secrets/java/target 目录。

sonar-secrets-javascript-x.x.jar 在 sonar-secrets/javascript/target 目录。

安装配置

 

  • 复制Jar包文件到sonarqube的插件目录/opt/sonarqube/extensions/plugins
  • 重启sonarqube服务器

In startup logs you should see:

  1. ... 
  2. INFO  web[][o.s.s.p.ServerPluginRepository] Deploy plugin Sonar Secrets Java / x.x 
  3. INFO  web[][o.s.s.p.ServerPluginRepository] Deploy plugin Sonar Secrets JavaScript / x.x 
  4. ... 

启用 sonar-secrets-java and sonar-secrets-javascript 在 Quality Profiles。

IDE效果图

 

SonarQube检查项目中是否存在秘钥信息

Sonar Secrets帮助我们在检测和防止代码中的敏感数据泄漏方面保持主动。我们已决定将该项目开源,以便社区可以从这项技术中受益并帮助改进它。该插件是完全可定制的,并且可以使用新规则进行扩展。该第一个发行版目前仅支持Java和Javascript项目。

原文地址:https://mp.weixin.qq.com/s/Gkn3SQz_JygC4XfuYS1aFA

延伸 · 阅读

精彩推荐
  • 编程技术AIOps,SRE工程师手中的利器

    AIOps,SRE工程师手中的利器

    AIOps开始成为一种极为重要的站点可靠性工程工具。它能够高效吸纳观察数据、参与数据以及来自第三方工具的数据,判断系统运行状态并保证其处于最佳...

    至顶网5972021-03-08
  • 编程技术用户态 Tcpdump 如何实现抓到内核网络包的?

    用户态 Tcpdump 如何实现抓到内核网络包的?

    在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包...

    开发内功修炼11612021-09-08
  • 编程技术从Context源码实现谈React性能优化

    从Context源码实现谈React性能优化

    这篇文章主要介绍Context的实现原理,源码层面掌握React组件的render时机,从而写出高性能的React组件,源码层面了解shouldComponentUpdate、React.memo、PureComponen...

    魔术师卡颂5312020-12-20
  • 编程技术真正聪明的程序员,总有办法不加班

    真正聪明的程序员,总有办法不加班

    工作效率提升了,就可以少加班了,聪明的程序员,总会有一堆可以提升编码效率的工具?当一种工具满足不了工作需求,就去探索新的,今天纬小创就给...

    今日头条12482021-03-04
  • 编程技术让开发效率倍增的 VS Code 插件

    让开发效率倍增的 VS Code 插件

    今天来分享一些提升开发效率的实用 VS Code 插件!Better Comments 扩展可以帮助我们在代码中创建更人性化的注释,有不同形式和颜色的注释供我们选择。 ...

    前端充电宝7132022-04-21
  • 编程技术Delphi - Indy idMessage和idSMTP实现邮件的发送

    Delphi - Indy idMessage和idSMTP实现邮件的发送

    这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    JJ_JeremyWu6592020-09-22
  • 编程技术简单、好懂的Svelte实现原理

    简单、好懂的Svelte实现原理

    本文会围绕一张流程图和两个Demo讲解,正确的食用方式是用电脑打开本文,跟着流程图、Demo一边看、一边敲、一边学...

    魔术师卡颂4822021-11-10
  • 编程技术2021年值得关注的React PDF 库

    2021年值得关注的React PDF 库

    今天,许多网络应用程序为其用户提供内置的PDF浏览选项。然而,选择一个并不容易,因为它们的功能远远超过显示PDF。在这篇文章中,我将评估5个React的...

    TianTianUp5232021-06-21