1

我正在尝试.java使用 Fortify 静态代码分析扫描纯文件,并且经常收到一条错误消息,指出我没有包含完整的 jar 列表。

“无法解析以下对 java 类的引用。请确保将包含这些类的所有必需 jar 文件提供给 SCA。”

我的问题是它会影响扫描结果吗?这个警告需要认真对待吗?(因为我的扫描仍在继续;)

4

2 回答 2

1

您可以获得部分扫描和结果,但某些问题可能会被完全遗漏和/或风险较低。如果您的代码调用 JAR 文件中的函数,则 SCA 无法跟踪数据流进出函数。因此,这些数据路径会进入黑洞并且不会返回任何结果。

最好不要有将编译扫描的警告和代码。

于 2013-04-02T17:33:46.090 回答
1

从第一原则而不是产品或应用程序的知识考虑这一点:

大概 Fortify 会扫描它可以看到的代码,因此它会返回一些有用的结果。但是,由于它无法查看所有代码,因此无法完成完整的工作。

不知道 Fortify 能有多聪明,它对抽象工厂之类的东西做了什么?这样的设计模式可以有效地在运行时确定实际使用了哪些类,因此您可以获得完全不同的应用程序行为,具体取决于哪些 jar 可用。

底线:鉴于您的应用程序可以在某个地方运行,为什么不能将所有 JAR 文件放在一起,让 Fortify 有机会完成更完整的工作?

于 2013-03-04T08:54:15.787 回答