问题标签 [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.
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 - 使用 spotbugs 的简单 gradle 文件并找到安全漏洞?
有没有人有一个使用“旧”形式的插件条目的 gradle 5.X 的基本 gradle 文件,它同时使用了 spotbugs 和 find-security-bugs,并且当 ./gradlew clean build 运行时将同时执行 spot bugs 和安全漏洞?
我可以让现场错误正常工作(他们为什么要重命名它?多么烦人),但无法让安全漏洞正常工作。
java - 如何在 find-sec-bugs 中仅运行已定义的检测器
我想对多个 jar 运行 findsecbugs 扫描(CLI 版本),我只希望它检查与错误使用加密函数(如使用 md5)相关的问题。我如何告诉 findsecbugs 只使用我定义的检测器?
谢谢!
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
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 报告中缺少某些属性?
java - scala innerClass,查找秒错误 PREDICTABLE_RANDOM_SCALA
我想改进对 PREDICTABLE_RANDOM_SCALA 代码的检测。
- methodName 包含“token”、“id”、“csrf”等。
- find-sec-bug 现有检测逻辑
但在斯卡拉。scala 源代码和 javap -v 你可以在下面看到。
可以看到,scala使用了innerClass,绕过了我的判断方法:xxxtoken方法是否调用了Random。是否有任何 API 来获取内部类并加载它,或者有什么方法可以实现这个逻辑。
java - 来自 findbugs-sec-plugin 的误报 Spring LDAP
看起来它没有考虑到Filter.toString/encode
实际上可以正确编码 LDAP 过滤器。所以如果我有一个类似的标志
它会标记此代码在不应该的地方容易受到 LDAP 注入的影响。
如何使 findsec-bugs-plugin 不将这种用法标记为问题?
scala - 如何解决 HTTP 参数污染警告?
在基于 scala 的应用程序中检查findSpecBugs
警告时,我遇到了:
带有消息的 HTTP 参数污染警告:将未经验证的用户输入连接到 URL 可以允许攻击者覆盖请求参数的值。
当我将 URL 与从数据库中获取的值连接时,会出现此问题。知道如何清理或验证该值,还是有其他方法可以解决此问题?
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 错误?