SonarQube v8.4 发布了。SonarQube 是一个用于管理源码质量的平台,帮助开发者编写干净的代码,其支持的语言包括:Python、Java、PHP、C#、C、Cobol、PL/SQL 与 Flex 等。
此版本扩展了 OWASP(Open Web Application Security Project,开放式 Web 应用程序安全项目)类型覆盖范围、带来了更快的分析速度、热备份和更快的启动。
Python 添加了 XSS 检测,以及另外 4 个 OWASP Top 10 类型
此版本中添加了一个与 XSS 相关的 Security Hotspot:S5247 查找在模板引擎中已关闭自动转义的所有位置。XSS 在OWASP Top 10 中属于 A7,此版本还增加了其它四个类别的覆盖范围:A2-身份验证失败、A3-敏感数据暴露、A4-XML 外部实体(XXE)和 A6-安全性错误配置。
XXE for C、C++ 和不安全函数的使用
除了 Python,C 和 C++ 中也添加了 XXE 检测功能。
Java 和 C# 不安全反序列化检测
添加了针对 C# 和 Java 的反序列化漏洞的检测。不过针对 Java,这是一项商业功能。
22 条新的 Python 规则,更好的类型处理、Flake8 支持
Python 增加了 14 条新的 Bug 规则和 8 条新的 Code Smells,其中包括 4 条有关类型检查的规则。此外,Python 分析现在可以理解 TypeShed 类型,因此现有规则变得更加智能。同时,Flake8 用户现在可以轻松导入这些问题。
更快地分析 C#、C、C++ 和 Objective-C
在此版本中,通过消除分析过程中不必要和多余的工作,加快了针对 C、C++、Objective-C 和 C# 的分析速度。对于 C、C++ 和 Objective-C,测试显示分析时间最多可减少 80%,具体取决于项目使用的外部依赖项的数量,而 C# 分析显示,时间平均缩短了 25%。
热备份,更快的启动
现在可以进行数据库备份而无需关闭 SonarQube,不必担心数据损坏。SonarQube 在问题索引编制完成之前接受并处理分析报告。这意味着,即使在接口完全可用之前,Quality Gate 的状态也将被更新,并发送 webhooks 和拉取请求。同时,一旦索引了每个项目,就可以浏览每个项目。简而言之,当启动在后台进行时,开发生命周期可以正常继续。