在 SonarQube 中使用 npm 审计报告

Posted

技术标签:

【中文标题】在 SonarQube 中使用 npm 审计报告【英文标题】:use npm audit report in SonarQube 【发布时间】:2020-01-15 11:57:56 【问题描述】:

我正在开发网络应用程序。 我需要检查依赖项的安全性。

我实际上是在使用 OWASP 依赖项检查扫描我的源代码,但我认为它不是在网络应用程序上使用的最佳工具。 我认为 npm 审计或纱线审计是检查这个应用之王的依赖安全性的更好工具。

使用 OWASP,我使用 OWASP SonarQube 项目将结果集成到 sonarQube 使用的设置示例:

sonar.dependencyCheck.reportPath=$(System.DefaultWorkingDirectory)/DependencyCheckResults/dependency-check-report.xml
sonar.dependencyCheck.htmlReportPath=$(System.DefaultWorkingDirectory)/DependencyCheckResults/dependency-check-report.html

同理,有没有办法在SonarQube中使用npm审计(或yarn审计)报告?

目前我使用以下命令生成 json 格式的报告:

npm audit --json

我也知道可以使用https://github.com/eventOneHQ/npm-audit-html从 npm audit 生成 HTML 报告

所以,它只是缺少一个 SonarQube 插件来导入它或类似的东西,但我找不到它。

【问题讨论】:

您希望在 SonarQube 应用程序中的哪个位置获得这些数据?请参阅How to Ask 链接以获取有关如何提出问题并相应更新您的问题的更多详细信息。 @JeroenHeier:我更新了我的问题,我希望描述足以理解我的问题;) 【参考方案1】:

目前,这似乎是不可能的。但是,this npm rfc 0004 指定了一个 npm audit --owasp 标志来解决这个问题。此 rfc 已被接受,但尚未实施。

也许值得尝试使用一些 sonarQube 插件解析npm audit --json 的输出,但我不知道如何执行此操作。

编辑 2021-08-09

npm rfc 是 withdrawn:

npm cli 团队很乐意接受此更改,以防它来自社区贡献,此撤消是基于这样一个事实,即这并没有远离当前团队的路线图。

【讨论】:

感谢@haja 提供 rfc 链接 ;) 拭目以待 很遗憾,rfc 被撤回了

以上是关于在 SonarQube 中使用 npm 审计报告的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSTS CI/CD 发送的构建电子邮件中添加 SonarQube 分析报告?

我如何在 jenkins 上发布 sonarqube 报告?使用 sonarqube portlet

使用 Powermock 在 Sonarqube 中配置 jacoco 以进行集成和单元测试报告

Jenkins + sonarqube集成实现发布代码审计

将 Angular 单元测试报告导入 Sonarqube

Sonarqube:为多模块导入 Jacoco xml 报告