问题标签 [spotbugs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 通过污点分析和自定义注释检测 Find Sec Bugs 中的信息泄漏
Find Sec Bugs 是否允许通过注释定义敏感的源和接收器,就像 Checker Framework 等其他静态分析工具一样?现在我只看到在配置文件中定义了源/接收器,如下所示:https ://github.com/find-sec-bugs/find-sec-bugs/blob/99814871f33ca0484b975f2fe51bae2bc1bcf40a/plugin/src/main/resources/taint-配置/污点敏感数据.txt
Checker 框架有一个 @Tainted 和 @Untainted 注释,可以在整个代码中通用(https://checkerframework.org/manual/#tainting-many-uses)
您还可以创建自定义注释,文档显示了如何将其应用于信息泄漏案例(https://checkerframework.org/manual/#subtyping-example)
结果它会吐出类似的东西:
Find Sec Bugs 中有类似的东西吗?谢谢!
static-analysis - 单个文件上的 Spotbugs?
我在 Eclipse IDE 中使用 Spotbugs 插件。我可以在整个项目上运行 Spotbug,这给我的印象是该工具需要构建项目才能呈现其分析报告。
但是文档说它是一个静态分析工具。
所以,我很好奇它是否需要构建项目,那么我们可以称之为静态分析工具吗?如果不需要构建项目,我们可以在单个 .java 文件上运行 Spotbugs 吗?
android - Android Studio 的最小工作 SpotBugs 设置
如何为 Android 设置 SpotBugs?
我尝试遵循官方文档和gradle plugin的文档,但 Android 的设置不完整且令人困惑,并且不起作用。
我尝试了以下设置。
build.gradle(项目):
build.gradle(应用程序):
我尝试使用 运行它./gradlew spotbugsMain
,但缺少 gradle 任务。
我应该手动添加任务吗?我怎么做?
你能告诉我一个 Android 项目的最小工作设置的例子吗?
scala - 在 Scala 代码中未发现路径遍历漏洞
我一直在尝试使用 SonarQube + FindBugs + FindSecBugs 插件来扫描我的代码。
这个想法是检测代码中的漏洞,正如它在 github 项目主题中所说,它适用于 scala https://github.com/find-sec-bugs/find-sec-bugs
我已经按照文档说明安装了插件,并尝试了几次扫描,但没有出现与 scala 中的漏洞相关的内容。
所以,为了弄清楚代码是真的好还是我的 SonarQube 设置有错误配置,我去了http://find-sec-bugs.github.io/bugs.htm,我拿了一个例子(潜在路径遍历),插入示例代码,然后我再次运行扫描仪。没有找到。
规则(安全 - 潜在路径遍历(文件读取))在质量配置文件中被激活,尽管它是一个 Java 配置文件,但它被分配给项目,因为上述示例中的代码是 Scala。
我注意到来自 find-sec-bugs 的所有规则都是 java 的,所以我想知道它们是否不适用于 scala,或者我可以做些什么来使其工作。
提前致谢,如果您需要任何额外信息,请告诉我,我很乐意为您提供。
gradle - 未找到 ID 为“com.github.spotbugs”的插件
我第一次为 Gradle 项目配置SpotBugs 插件。
运行时gradle check
出现错误Plugin with id 'com.github.spotbugs' not found.
我做错了什么?
梯度版本 5.0。
maven - SpotBugs 和 Maven 与 Linux 机器使用 excludeFilterFile 和插件配置失败
我已经能够创建自己的FilterFile并将其与 excludeFilterFile 配置一起使用。我使用了以下页面:SpotBugs Maven Plugin exclude a directory
我还能够使用https://spotbugs.readthedocs.io/en/latest/implement-plugin.html创建自己的 SpotBugs 插件实现,并在不同的模块中使用它。
当我尝试使用过滤器文件和我自己的 SpotBugs 插件实现时,出现错误。注意当我仅使用过滤器文件或仅使用我的自定义插件配置进行构建时,这可以正常工作。问题是当我定义两者时。这是一个错误还是我的配置有问题?
同样有趣的是,我能够在 Windows 机器上成功构建项目。看起来它是 Linux 机器独有的。
我的代码片段:
我的错误:
maven - SpotBugs 站点报告与 spotbugs:gui 目标不一致
我设置了 SpotBugs 来帮助我们遵守一些标准,但与 SpotBugs 用户界面相比,我在生成的站点中得到了不同的结果。这是我在我的 pom 文件中对 SpotBugs 的配置:
当我运行时mvn clean install site
,该站点报告了 5 个错误。
当我运行mvn clean install spotbugs:gui
时,gui 报告了 0 个错误。
怎么会有区别?似乎站点目标忽略了我的排除过滤器,但我不明白为什么。我也不完全确定构建/插件部分与报告/插件部分的关系。如果有人能告诉我我在这里搞砸了什么,我将非常感激。
java - 多项目设置的 Spotbugs 配置
我有一个多项目 Gradle 设置,如下所示:
我想将 SpotBugs 应用于我的所有项目。
在每个项目中明确执行以下操作。
例如,以下build.gradle
内容ProjectA
:
但是,我不想在build.gradle
所有项目的文件中复制此代码。
如何将其拉出到RootProject
的构建文件中。
例如,在以下块内:
按原样移动块不起作用。
java - SpotBugs - 方法忽略 InputStream.read() 的结果
我在调试代码时遇到了一些问题,我设法调试了除一个之外的所有错误:
Method ignores results of InputStream.read()
,调试器(SpotBugs)说问题出在了,reader.read(buffer, 0, n)
并建议我检查返回值,否则调用者将无法正确处理读取的字节数少于调用者请求的字节数。
我该如何修复这个错误?
maven - spotbugs 是否可以从纯 maven 配置中跳过 kotlin 文件?
我可以*.kt
使用排除文件
并spotbugs-exclude-filter.xml
包含:
但是,由于 spotbugs 在父 pom 中(Java 和 Kotlin 项目都使用),我更喜欢纯 maven 解决方案,因此继承项目不需要额外的 xml 文件。可能吗?