我需要檢查使用Fortify在我的項目中使用的第三方庫中的漏洞(如果有)。我可以在.jar文件而不是.java上運行fortify嗎?
對於一些第三方庫,我無法訪問它們的源文件。我只有運送的.jar文件。
是否可以在.jar文件上運行Fortify?所有我能找到的大部分單證的是,Fortify的可以在.java文件上運行,這樣的事:
sourceanalyzer -b MyProject的-cp 「的lib/的.jar」,「SRC/ */*的Java。 「
我需要檢查使用Fortify在我的項目中使用的第三方庫中的漏洞(如果有)。我可以在.jar文件而不是.java上運行fortify嗎?
對於一些第三方庫,我無法訪問它們的源文件。我只有運送的.jar文件。
是否可以在.jar文件上運行Fortify?所有我能找到的大部分單證的是,Fortify的可以在.java文件上運行,這樣的事:
sourceanalyzer -b MyProject的-cp 「的lib/的.jar」,「SRC/ */*的Java。 「
您可以強制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源代碼掃描相比,結果不會太好,但應該會得到一些結果。
你可以比LaJmOn的建議做得更好,並且實際上會自動打開罐子。
例如:
sourceanalyzer -b apple -source 1.6 -Dcom.fortify.sca.fileextensions.jar=ARCHIVE /System/Library/Frameworks/JavaVM.framework/Home/lib/ext/apple_provider.jar
這種技術沒有記錄,Fortify也不支持。 – 2013-05-17 17:11:57
是的,沒有記錄,但這個選項存在並且是HP SCA專家所熟知的。您甚至可以使用以下命令掃描WAR文件:com.fortify.sca.fileextensions.war = ARCHIVE – 2013-11-26 12:20:09
試圖分析打包到WAR中的.class文件無法找到.class文件,就好像分析器預計WAR文件是一個目錄。 – 2018-02-22 17:30:18
謝謝,所以這意味着它不是強制具有.java文件必然存在。 .class文件(沒有被解編譯爲.java)也符合掃描條件? – 2013-05-02 04:03:02
是的。它直接對.class文件進行字節碼掃描。 – LaJmOn 2013-05-02 15:25:36
謝謝,這確實有幫助。 – 2013-05-03 04:24:37