首页 > 其他分享 >详解SonnarQube 集成Sonar-dependency-check-plugin​​​​​​​落地应用的方案以及安装过程中遇到的问题

详解SonnarQube 集成Sonar-dependency-check-plugin​​​​​​​落地应用的方案以及安装过程中遇到的问题

时间:2025-01-08 09:30:33浏览次数:3  
标签:Dependency SonarQube plugin SonnarQube Check dependency report check

Dependency-Check 

Dependency-Check用来检查代码中是否存在任何已知的,公开披露的安全漏洞。他检查依赖项中是否存在漏洞的原理也跟我们熟知的病毒查杀软件一样,预先定义好目前已知的安全漏洞库,检查依赖包时,发现这些漏洞就会报错,最后定期更新安全漏洞库即可!更多信息可以参考文章:

代码依赖包安全漏洞检测神器 —— Dependency Check_dependency-check-report 分析-CSDN博客

Sonar-dependency-check-plugin

Sonar-dependency-check-plugin不执行分析,而是读取现有的 Dependency-Check 报告。使用其他可用方法之一扫描项目依赖项并生成必要的 JSON 报告,然后此插件可以使用该报告。

安装sonar-dependency-check-plugin

我们只需下载sonar-dependency-check-plugin*.jar,地址如下:

GitHub - dependency-check/dependency-check-sonar-plugin: Integrates Dependency-Check reports into SonarQube

然后将其拷贝到SonarQube所在部署服务器的\extensions\plugins 目录,重启SonarQube即可。

在SonarQube的通用设置页面可以看到Dependency-Check选项

这里需要特别关注Paths的设置,需要能够在JSON report path中能够找到.json文件,否则无法在SonarQube中展示 Dependency-Check执行报告

运行报错

通过mvn运行sonar就可以调用Maven Dependency-Check Plugin,例如

mvn clean verify sonar:sonar  -Dsonar.projectKey=KevinDemo1 -Dsonar.projectName='PerformaceDemo'  -Dsonar.host.url=http://localhost:9000 -Dsonar.token=sqp_15e50962b0ae59c6b1f44990cfbb968bbc15****

但是遗憾的是首次运行报错了,错误信息如下

Dependency-Check JSON report does not exists. Please check property sonar.dependencyCheck.jsonReportPath:D:\report\dependency-check-report.json
[INFO] JSON-Analysis skipped/aborted due to missing report file
[INFO] Dependency-Check HTML report does not exists. Please check property sonar.dependencyCheck.htmlReportPath:D:\report\dependency-check-report.html
[INFO] HTML-Dependency-Check report does not exist.

提示:在D:\report\ 目录下没有\dependency-check-report.json报告,然后查看了一下,这个目录下确实没有dependency-check-report.json,其实sonarqube就是通过这个文件来收集dependency-check的测试结果信息,然后把测试报告同步到sonarqube中进行显示的。

很显然是通过mvn的方式运行dependency-check失败了,下面就需要搞定这个问题!

在Maven中配置Dependency-Check 插件

我们可以通过下面这篇文章进行maven Dependency-Check 插件的配置,这里就不多说了,大家直接看文章即可:

想通过maven 运行dependency-check的小伙伴必看!详解dependency-check-maven 插件的高效参数配置-CSDN博客

这里需要确认,在pom.xml中关于 Dependency-Check的报告输出位置( <outputDirectory>),一定要与前面章节中提到的SonarQube里的JSON report path一致,另外一定要输出.JSON格式的报告

再次运行,成功!

登录到SonarQube,点击Dependency-Check链接就可以看到生成的测试报告了!

最后的总结

SonarQube仅仅作为Dependency-Check的一个展示平台;

通过maven运行SonarQube Scanner就可以自动运行Dependency-Check;

Dependency-Check的执行策略需要我们在maven中的pom.xml进行配置;

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

标签:Dependency,SonarQube,plugin,SonnarQube,Check,dependency,report,check
From: https://blog.csdn.net/liwenxiang629/article/details/143747503

相关文章

  • Vue cli 插件( plugins.js)
    1、功能增加Vue2、创建插件(plugins.js)文件a,b为其它参数exportdefault{install(Vue,a,b){//全局混入Vue.mixin({data(){return{x:100,y:99}......
  • 统信UOS报错qt.qpa.plugin:Could not load the Qt platform plugin "xcb" in “***”
    问题截图: 解决方案:执行命令sudoln-fs/usr/lib/x86_64-linux-gnu/libxcb-util.so.0/usr/lib/x86_64-linux-gnu/libxcb-util.so.1 参考链接:Ubuntu22.04中解决CouldnotloadtheQtplatformplugin“xcb“问题解决方法_couldnotloadtheqtplatformplugin"xcb......
  • Gradle下载Plugins插件连接超时 failed: Connection timed out: connect的解决方法
    可以去gradle官方plugin仓库看看插件是否存在。出现超时的问题多半都是网络因素,可能是复杂的网络导致你访问不了吧,配置下plugins可访问使用的仓库即可。需要注意buildscript在plugins之上的位置。buildscript{repositories{mavenLocal()maven{url'https://......
  • Qt5.14.2 编译QtCipherSqlitePlugin ,_mm_aesimc_si128 (__m128i __X)报错解决
    1.在相同的cpu,相同版本的Qt5.14.2不同电脑下,编译由devbean/QtCipherSqlitePlugin作者处下载的源码。未修改任何东西的情况下,同事电脑一键即可编译成功!而本人则是尝试了很多次都无法编译成功!总是报错内联失败,目标特定选项不匹配等问题! 2.尝试多次后,在sqlitecipher.pro文件添......
  • 最新版Chrome浏览器加载ActiveX控件技术——alWebPlugin中间件V2.0.28-迎春版发布
     allWebPlugin简介   allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefox、Edge、360......
  • Ubuntu20.04安装Qt5.15.2并配置qml_ros_plugin插件
    安装QtQt老版本采用离线安装,新版本采用在线安装器安装,在官网安装速度很慢,一般在国内的源下载。在中科大源下载Qt在线安装器http://mirrors.ustc.edu.cn/qtproject/official_releases/online_installers/安装依赖sudoaptinstallgccg++makecmakebuild-essentiallibgl1-......
  • 启动应用程序出现WSearchMigPlugin.dll找不到问题
    在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为......
  • getPluginOnloadOptions
    ObjectgetPluginOnloadOptions()插件2.2.3版本开始支持获取插件通话页面打开(onLoad)时页面路径中的参数。注意:获取参数时,如果插件通话页面onLoad还没有触发,可能取到的不是最新的值。建议在callPageOnShow事件后调用。参数无返回值Object插件页面onLoad生命周期......
  • getPluginEnterOptions
    ObjectgetPluginEnterOptions()获取从插件页面进入小程序时的启动参数。从插件页面进入小程序时,小程序本身无法直接通过wx.getEnterOptionsSync获取启动参数,故提供本接口。注意:当小程序在前台时被客户端reLaunch(例如手机微信来电提醒打开小程序,或WMPFlaunchMiniProgram接......
  • webpack 使用hard-source-webpack-plugin缓存编译文件,加快编译速度
    hard-source-webpack-plugin是一个为webpack提供中间缓存功能的插件。它可以将模块的编译结果缓存到磁盘中,这样在后续的编译过程中,如果模块的源代码没有发生变化,就可以直接使用缓存的结果,从而加快编译速度。插件地址https://www.npmjs.com/package/hard-source-webpack-plugi......