2013-04-29 173 views
1

我需要檢查使用Fortify在我的項目中使用的第三方庫中的漏洞(如果有)。我可以在.jar文件而不是.java上運行fortify嗎?

對於一些第三方庫,我無法訪問它們的源文件。我只有運送的.jar文件。

是否可以在.jar文件上運行Fortify?所有我能找到的大部分單證的是,Fortify的可以在.java文件上運行,這樣的事:

sourceanalyzer -b MyProject的-cp 「的lib/的.jar」,「SRC/ */*的Java。 「

回答

2

您可以強制SCA使用以下命令來掃描類文件:

sourceanalyzer -b MyProject -source "1.6" -cp "{source_path}/**/*.jar" -scan -f MyProject.fpr -Dcom.fortify.sca.fileextensions.class=BYTECODE -Dcom.fortify.sca.DefaultFileTypes=class "{source_path}/**/*.class" 

如果我沒記錯的話,你需要爆炸包含要掃描類文件的JAR文件到{SOURCE_PATH} 。

與Java源代碼掃描相比,結果不會太好,但應該會得到一些結果。

+0

謝謝,所以這意味着它不是強制具有.java文件必然存在。 .class文件(沒有被解編譯爲.java)也符合掃描條件? – 2013-05-02 04:03:02

+0

是的。它直接對.class文件進行字節碼掃描。 – LaJmOn 2013-05-02 15:25:36

+0

謝謝,這確實有幫助。 – 2013-05-03 04:24:37

6

你可以比LaJmOn的建議做得更好,並且實際上會自動打開罐子。

例如:

sourceanalyzer -b apple -source 1.6 -Dcom.fortify.sca.fileextensions.jar=ARCHIVE /System/Library/Frameworks/JavaVM.framework/Home/lib/ext/apple_provider.jar 
+0

這種技術沒有記錄,Fortify也不支持。 – 2013-05-17 17:11:57

+0

是的,沒有記錄,但這個選項存在並且是HP SCA專家所熟知的。您甚至可以使用以下命令掃描WAR文件:com.fortify.sca.fileextensions.war = ARCHIVE – 2013-11-26 12:20:09

+0

試圖分析打包到WAR中的.class文件無法找到.class文件,就好像分析器預計WAR文件是一個目錄。 – 2018-02-22 17:30:18

相關問題