首页 > 解决方案 > Sonarqube 未显示安全热点

问题描述

我正在使用一些故意危险的 js 代码测试 SonarQube 社区版,版本 7.9.4(构建 35981)(因为 LTS),例如:

 eval(evt.body);
const net = require('net');

var socket = new net.Socket(); // Questionable
socket.connect(80, 'google.com');

// net.createConnection creates a new net.Socket, initiates connection with socket.connect(), then returns the net.Socket that starts the connection
net.createConnection({ port: port }, () => {}); // Questionable

// net.connect is an alias to net.createConnection
net.connect({ port: port }, () => {}); // Questionable

let password = 'my totally secret password';
console.log(password);

(所有内容均来自质量配置文件中给出的安全问题示例:推荐声纳方式)

但我在仪表板上看不到任何错误。错误和代码气味正在显示。

从我阅读的文档中:为什么我没有看到任何漏洞或安全热点?

由于以下原因,您可能看不到任何漏洞或安全热点:

  • 你没有,因为代码是在没有使用任何安全敏感 API 的情况下编写的。
  • 漏洞或安全热点规则可用但未在您的质量配置文件中激活,因此没有安全热点或
  • 漏洞被提出。您的语言的分析器目前可能只提供一些规则,并且不会引发任何或少数几个漏洞
    或安全热点。

#1 是不可能的,因为我故意放了错误的代码。

#2 我的“声纳方式推荐”说它有 13 个活动安全热点

#3 我不知道如何设置特定的分析器

我还尝试禁用质量门(放一个假的),以防万一没有任何覆盖阻止显示其他错误,但无济于事。

我可以做些什么来显示这些错误吗?

编辑:如果解决方案是更改版本,我也可以这样做

标签: javascriptsonarqube

解决方案


对于其他读者:问题是我试图一次测试太多东西,所以不仅是安全热点,还有一般的 linting 错误,const 重新定义了两次,let not redefined,并使用 let 关键字重新定义了变量:

let x=1
// some other lines...
let x='two'

在首先“解决”这些错误之后(它们不是为了解决,而是故意显示的......)现在我可以看到安全热点问题


推荐阅读