问题标签 [find-sec-bugs]

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.

0 投票
1 回答
332 浏览

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,或者我可以做些什么来使其工作。

提前致谢,如果您需要任何额外信息,请告诉我,我很乐意为您提供。

0 投票
1 回答
1754 浏览

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

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

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

0 投票
1 回答
399 浏览

java - 如何在 find-sec-bugs 中仅运行已定义的检测器

我想对多个 jar 运行 findsecbugs 扫描(CLI 版本),我只希望它检查与错误使用加密函数(如使用 md5)相关的问题。我如何告诉 findsecbugs 只使用我定义的检测器?

谢谢!

0 投票
2 回答
292 浏览

java - 在 Maven 中使用 FindSecBugs 会抛出 java.lang.OutOfMemoryError

我是 Maven 新手。我正在使用Mac OSX。我尝试使用 maven 构建项目并且它发生得很好。然后我使用mvn spotbugs:spotbugs来使用 spotbugs 插件!花了一段时间并在线程“main”中抛出异常

java.lang.OutOfMemoryError:Java 堆空间。

我尝试的项目是 330 MB,非常大,我现在无能为力。我在网上尝试了很多解决方案:

1.export MAVEN_OPTS="-Xmx2048m"(我尝试增加到12000m仍然不起作用)

2.使用了这个插件

仍然没有工作。

任何人都可以指导我完成它吗?我正在使用 maven spotbugs 版本 3.1.12。

使用java 11,Maven 3

0 投票
0 回答
227 浏览

findbugs - 使用 Gradle 插件运行时 Spotbugs XML 报告没有 instanceHash 值

我在Spotbugs中使用FindSecBugs插件对我的代码进行静态安全分析。我的一些项目是使用gradle 构建的,有些是使用maven完成的。我已经成功测试了 maven,它给了我一个 xml 报告,例如:

BugInstance instanceOccurrenceNum="0" instanceHash="f52576b87914efbf135c588c2449648e" cweid="117" rank="15" abbrev="SECCRLFLOG" category="SECURITY" priority="3" type="CRLF_INJECTION_LOGS" instanceOccurrenceMax="0">

似乎工作正常。接下来我尝试为 Gradle 做同样的事情。看起来我没有获得 InstanceHash 属性。我使用该属性来确保错误不会重复。我收到一份报告

BugInstance type="PATH_TRAVERSAL_IN" priority="1" rank="10" abbrev="SECPTI" category="SECURITY">

我的 build.gradle 文件:

我做错什么了吗?为什么我的 XML 报告中缺少某些属性?

0 投票
0 回答
87 浏览

java - scala innerClass,查找秒错误 PREDICTABLE_RANDOM_SCALA

我想改进对 PREDICTABLE_RANDOM_SCALA 代码的检测。

  • methodName 包含“token”、“id”、“csrf”等。
  • find-sec-bug 现有检测逻辑

但在斯卡拉。scala 源代码和 javap -v 你可以在下面看到。

可以看到,scala使用了innerClass,绕过了我的判断方法:xxxtoken方法是否调用了Random。是否有任何 API 来获取内部类并加载它,或者有什么方法可以实现这个逻辑。

0 投票
1 回答
75 浏览

java - 来自 findbugs-sec-plugin 的误报 Spring LDAP

看起来它没有考虑到Filter.toString/encode实际上可以正确编码 LDAP 过滤器。所以如果我有一个类似的标志

它会标记此代码在不应该的地方容易受到 LDAP 注入的影响。

如何使 findsec-bugs-plugin 不将这种用法标记为问题?

0 投票
1 回答
519 浏览

scala - 如何解决 HTTP 参数污染警告?

在基于 scala 的应用程序中检查findSpecBugs警告时,我遇到了:

带有消息的 HTTP 参数污染警告:将未经验证的用户输入连接到 URL 可以允许攻击者覆盖请求参数的值。

当我将 URL 与从数据库中获取的值连接时,会出现此问题。知道如何清理或验证该值,还是有其他方法可以解决此问题?

0 投票
1 回答
46 浏览

java - findsecbugs 报告导入库代码段漏洞的原因

如下图所示,第 18 行显示扫描了一个硬编码漏洞。

图片

但是当我将此标记的模块导入其他文件时,它不会报告问题。奇怪的是,当我删除标记的模块时,它也会报告这个问题。

请帮我解决这个问题。

0 投票
1 回答
242 浏览

java - Sonar 和 findsecbugs 使用 Spring Expression 时的潜在代码注入

我们有一个 spring-boot (2.4.2) 应用程序和一个 Aspect 类,它执行一些处理“Around”方法,这些方法使用我们定义的自定义注释进行注释,并使用 SpEL 处理。

SpEL 表达式由我们定义为注释中的字段。

在运行 Sonar 工具和 Findsecbugs 时,我们被告知代码中存在漏洞,并出现错误“This use of org/springframework/expression/ExpressionParser.parseExpression(Ljava/lang/String;)Lorg/springframework/表达式/表达式;可能容易受到代码注入(Spring 表达式)的攻击”。违规行是下面的第 4 行:

使用此 Aspect 的注释代码如下所示:

最后,自定义注释看起来像:

这段代码似乎没有任何漏洞,因为 spring 表达式的输入是我们提供的。这是 Findsecbugs 的误报吗?除了使用 <@SuppressFBWarnings(value = {"SPEL_INJECTION"}, justification = "false positive")> 注释之外,还有什么方法可以防止出现 Sonar & Findsecbugs 错误?