SonarQube 只是在非常基本的 Spring Boot 应用程序中展示了一个严重的安全问题。在主要方法中。@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}SonarQube 希望我这样做Make sure that command line arguments are used safely here.我在 StackOverflow 和 Google 上搜索了这个问题,令我惊讶的是我找不到任何关于这个问题的评论。我几乎可以肯定该方法内部已经存在一些安全检查SpringApplication.run。而且,我什至不记得有人在调用SpringApplication.run. 我只是想将其标记为误报并继续。SonarQube在Spring框架控制器和Spring框架应用程序主类中显示安全错误是误报吗?
4 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
如果您没有使用任何命令行参数,那么您可以避免在 run 方法中提及 args 参数。就像下面的代码一样。
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
这将消除 sonarqube 热点问题。
隔江千里
TA贡献1906条经验 获得超10个赞
如果您确定,则可以添加以下内容来解决该问题。
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
security hotspot
根据声纳文档,这似乎被标记为 a 。它指出
与漏洞不同,安全热点不一定是容易受到攻击的问题。相反,安全热点突出显示需要手动审查的安全敏感代码片段。经过审查,您会发现需要修复的漏洞或不存在威胁。
任何命令行参数的使用都无需先进行清理。
您的应用程序通过命令行参数接受敏感信息。
如果您的应用程序属于此类,那么它们绝对是您的应用程序可能存在的安全问题。
墨色风雨
TA贡献1853条经验 获得超6个赞
不使用命令行参数可以解决此问题。
仅用于声纳检查更改代码:
SpringApplication.run(ApiDispatchApplication.class, args);
到:
SpringApplication.run(ApiDispatchApplication.class);
添加回答
举报
0/150
提交
取消