我可以使用 Fortify 扫描 scala 代码或生成的 java (jar) 文件吗?我知道我可以在技术上执行 jar 选项,但是对于生成的 java 代码是否存在任何已知的挑战?
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)。自 2022 年起,不再需要从 Lightbend 获得单独的许可证。
我看到 James Roper (Play) 对这个问题的回复。 https://groups.google.com/forum/#!topic/play-framework/MtatDozyDjg
基本上他说静态代码分析工具可以发现的任何问题都是 API 中的错误,应该修复。 JAVA由于向后兼容性的原因无法做到这一点。
我已经使用 Fortify SCA 引擎 3.8、4.21 测试了 scala 代码。 Fortify 没有发现任何问题。如果我没记错的话,我在翻译阶段看到了很多警告,所以我假设 Fortify 没有用于 scala 代码的本机解析器。