是否可以使用 Scala 进行强化代码扫描

Is Fortify-code scan possible with Scala

我可以使用 Fortify 扫描 scala 代码或生成的 java (jar) 文件吗?我知道我可以在技术上执行 jar 选项,但是对于生成的 java 代码是否存在任何已知挑战?

我看到了 James Roper (Play) 对这个问题的回答。 https://groups.google.com/forum/#!topic/play-framework/MtatDozyDjg

基本上,他说静态代码分析工具可以发现的任何问题都是 API 中的错误,应该予以修复。 JAVA 由于向后兼容性,无法执行此操作。

我已经使用 Fortify SCA 引擎 3.8、4.21 测试了 scala 代码。 Fortify 没有发现任何问题。如果我没记错的话,我在翻译阶段看到了很多警告,所以我假设 Fortify 没有用于 scala 代码的本机解析器。

Fortify SCA 现在正式支持 Scala(自 2017 年 12 月起)。

添加此支持是 Lightbend 和 Micro Focus 之间的合作项目。

我在 Lightbend 方面完成了大部分工程工作,编写了一个编译器插件,将 Scala 代码转换为 Fortify 可以理解的中间形式。 Micro Focus 添加了特定于 Scala 的安全规则并对 Fortify 后端进行了必要的调整。 (他们还确保现有的 Java 规则在适当的时候也适用于等效的 Scala 代码。)

参见:

请注意,Fortify SCA 是商业软件,新的 Scala 插件也是。要使用它们,您必须

  • 拥有 Fortify SCA 许可证(或使用 Fortify on Demand)
  • 也是 Lightbend 订阅者