使用 spotbugs 的简单 gradle 文件并找到安全漏洞?

Posted

技术标签:

【中文标题】使用 spotbugs 的简单 gradle 文件并找到安全漏洞?【英文标题】:Simple gradle file using spotbugs and find security bugs? 【发布时间】:2019-09-04 19:00:36 【问题描述】:

有没有人有一个使用“旧”形式的插件条目的 gradle 5.X 的基本 gradle 文件,它同时使用 spotbugs 和 find-security-bugs,并且当 ./gradlew clean build 运行时将同时执行发现错误和安全错误?

我可以让现场错误正常工作(他们为什么要重命名它?多么烦人),但无法让安全漏洞正常工作。

【问题讨论】:

我不明白你的问题。 “旧”形式是什么意思? findsecbugs-plugin 是 spotbugs 插件,因此如果 spotbugs 工作正常,则没有额外的安全漏洞查找器 afaik。你能澄清你的问题吗? @ChristianH.Kuhn 有两种方法可以在 gradle 文件中描述插件。花点时间阅读我发布的答案,您会看到我将哪种方式称为“旧”方式。 @ChristianH.Kuhn 同样,findsecbugs 是 spotbugs 的一部分。您首先需要 spotbugs 插件,然后是 find sec bugs 插件。您可以查看我对所需设置的回答。 我读了你的回答,这正是我自己做的。首先,在 plugins 部分声明 spotbugs 插件。然后添加 findsecbugs 作为依赖项。最后,配置 SpotBugsTask。如果那是旧方法,我对更新的方法一无所知。 findsecbugs-plugin 是一个由 spotbugs 需要但从未手动调用或配置的依赖项。 @ChristianH.Kuhn 旧的方式是在 gradle 文件中声明插件的方式 - 请参阅plugins.gradle.org/plugin/com.github.spotbugs,它显示了包含(在这种情况下)spotbugs 插件的两种方式。我们正在使用“传统”方式,afaik 涉及在依赖项部分中声明。 【参考方案1】:

来自这个有用的博客https://www.amolsolutions.com/insights/static-code-checks-for-security

plugins 

    id 'com.gradle.build-scan' version '1.12.1'

    id "com.github.spotbugs" version "1.6.2"



dependencies 

  ...

  spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.7.1'



...

tasks.withType(com.github.spotbugs.SpotBugsTask) 

  reports 

    xml.enabled false

    html.enabled true

  


您会知道它有效,因为“安全”链接将出现在部分列表中。

【讨论】:

以上是关于使用 spotbugs 的简单 gradle 文件并找到安全漏洞?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 spotbugs 中集成 find-sec-bugs?

使用单体项目的 Spotbugs 规则运行声纳扫描仪时出错?

SonarQube 9.0 - FindBugs/SpotBugs 插件?

如何在 spotbug 报告中标记误报

编辑ant spotbugs的build.xml

toString()方法简单分析