Могу ли я запустить fortify для файлов .jar вместо .java?

Мне нужно проверить уязвимости (если они есть) в сторонних библиотеках, которые используются в моем проекте с помощью Fortify.

Для нескольких сторонних библиотек я не могу получить доступ к их исходным файлам. У меня есть только отправленные файлы .jar.

Можно ли вместо этого запустить Fortify для файлов .jar? Все, что я смог найти в большинстве документации, это то, что Fortify можно запускать с файлами .java, что-то вроде этого:

sourceanalyzer -b MyProject -cp "lib/.jar" "src/*/*.java"


person Ankit Sharma    schedule 29.04.2013    source источник


Ответы (2)


Вы можете сделать что-то лучше, чем предлагает ЛаДжмон, и открыть банки автоматически.

Например:

sourceanalyzer -b apple -source 1.6 -Dcom.fortify.sca.fileextensions.jar=ARCHIVE /System/Library/Frameworks/JavaVM.framework/Home/lib/ext/apple_provider.jar
person Douglas Held    schedule 17.05.2013
comment
Этот метод не задокументирован и не поддерживается Fortify. - person Douglas Held; 17.05.2013
comment
Да, недокументировано, но этот вариант существует и хорошо известен специалистам HP SCA. Вы даже можете сканировать файл WAR с помощью: com.fortify.sca.fileextensions.war = ARCHIVE - person Omar Elfada; 26.11.2013
comment
Попытка проанализировать файл .class, упакованный в WAR, не смогла найти файл .class, как будто анализатор ожидал, что файл WAR является каталогом. - person eel ghEEz; 22.02.2018

Вы можете заставить 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, но вы должны получить некоторые результаты.

person LaJmOn    schedule 01.05.2013
comment
Спасибо, это означает, что наличие файлов .java не обязательно. Файлы .class (без декомпиляции в .java) также подходят для сканирования? - person Ankit Sharma; 02.05.2013
comment
да. Он выполняет сканирование байт-кода файлов .class напрямую. - person LaJmOn; 02.05.2013
comment
Спасибо, это действительно помогло. - person Ankit Sharma; 03.05.2013