正则表达式在 SonarQube 报告中被标记为安全热点
Posted
技术标签:
【中文标题】正则表达式在 SonarQube 报告中被标记为安全热点【英文标题】:Regular Expressions are marked as Security Hotspot on SonarQube report 【发布时间】:2022-01-14 21:34:36 【问题描述】:为什么在 SonarQube 报告中将以下表达式 "Test--[A-Z]3_[0-9]1,2[MYD]1"
视为安全热点?
我们应该将此标记为“解决为已审核”吗?还是我们有其他解决方法?
【问题讨论】:
根据 (rules.sonarsource.com/javascript/type/Security%20Hotspot/…),警告是因为 RegEx 评估引擎可能存在漏洞。如果可能,您可以使用 Google Re2。 【参考方案1】:您可以将其标记为已审核且可以安全使用。
Test--[A-Z]3_[0-9]1,2[MYD]1
模式等于Test--[A-Z][A-Z][A-Z]_[0-9][0-9]?[MYD]
。
要使正则表达式成为邪恶的正则表达式,必须有相当大的回溯可能性,只有*
、*?
、+
、+?
和x,
/x,
才有可能?类似于模式内非最终位置的量词。
您的示例是一个模式示例,其中只有一位或两位数的模式可以回溯到,但只有两种可能的方式来匹配该模式,这没有问题并且不会造成任何威胁。
【讨论】:
非常感谢,让我标记为已审核并探索表达式 Test--[AZ][AZ][AZ]_[0-9][0-9]?[MYD]以上是关于正则表达式在 SonarQube 报告中被标记为安全热点的主要内容,如果未能解决你的问题,请参考以下文章
Sonarqube 自定义规则 - 字符串文字不应重复,在记录器的上下文中被忽略
有没有办法仅使用 XPATH 1.0 将多个相同命名的属性与正则表达式字符串匹配?