Fortify 静的コード分析を使用して純粋なファイルをスキャンしようとし.java
ていますが、jar の完全なリストが含まれていないというエラー メッセージが頻繁に表示されます。
「Java クラスへの次の参照を解決できませんでした。これらのクラスを含む必要なすべての jar ファイルを SCA に提供してください。」
私の質問は、スキャン結果に影響しますか? そして、この警告は真剣に受け止めるべきですか? (それにもかかわらず、私のスキャンは進行中です;)
Fortify 静的コード分析を使用して純粋なファイルをスキャンしようとし.java
ていますが、jar の完全なリストが含まれていないというエラー メッセージが頻繁に表示されます。
「Java クラスへの次の参照を解決できませんでした。これらのクラスを含む必要なすべての jar ファイルを SCA に提供してください。」
私の質問は、スキャン結果に影響しますか? そして、この警告は真剣に受け止めるべきですか? (それにもかかわらず、私のスキャンは進行中です;)
製品やアプリケーションに関する知識ではなく、第一原理から考えてみてください。
おそらく、Fortify は認識できるコードをスキャンするため、有用な結果が返されます。ただし、すべてのコードを表示できないため、完全な仕事を行うことはできません。
Fortify がどれほど賢いかはわかりませんが、抽象的な工場などに対してどのようなことを行うのでしょうか? このような設計パターンは、どのクラスが実際に使用されるかを実行時に効果的に決定できるため、使用可能な jar に応じて、根本的に異なるアプリケーションの動作を得ることができます。
結論: アプリをどこかで実行できるのに、すべての JAR ファイルをまとめて、Fortify がより完全な仕事をする機会を与えられないのはなぜでしょうか?
部分的なスキャンと結果を取得できますが、一部の問題は完全に見逃されたり、リスクが低くなったりする可能性があります。コードが JAR ファイル内の関数を呼び出す場合、SCA は関数に出入りするデータフローをたどることができません。したがって、これらのデータ パスはブラック ホールに入り、結果は返されません。
スキャンするためにコンパイルされる警告やコードを持たないことが常に最善です。