【问题标题】:Sonarqube not showing security hotspotsSonarqube 未显示安全热点
【发布时间】:2020-12-29 04:13:17
【问题描述】:

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

 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 我不知道如何设置特定的分析仪

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

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

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

【问题讨论】:

    标签: javascript sonarqube


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2020-10-18
      • 2021-08-25
      • 2021-01-01
      • 2021-04-29
      • 1970-01-01
      • 2022-01-14
      • 2021-05-07
      • 2017-07-15
      相关资源
      最近更新 更多