Я пытаюсь использовать Fortify Source Code Analyzer для исследовательского проекта в моей школе, чтобы проверить безопасность веб-приложений с открытым исходным кодом на Java. Сейчас я работаю над Apache Lenya. Я работаю с последней стабильной версией (Lenya v2.0.2).
Внутри корневого каталога находится файл с именем build.sh
. Этот файл вызывается для сборки Lenya с использованием версии Ant, поставляемой с выпуском (в папке tools/bin
). Я могу построить Лену очень хорошо, когда я бегу ./build.sh
. Таким образом, предполагается, что выполнение следующей команды в Fortify будет работать:
sourceanalyzer -b lenya -Xmx1200M touchless ./build.sh
Однако, когда я пытаюсь запустить:
sourceanayzer -b lenya -Xmx1200M -scan -f lenya.fpr
Я получаю:
идентификатор билда Леня не найден.
Я посмотрел файл buid.sh и заметил, что он просто сбрасывает текущие переменные ant home, classpath и ant, запускает команду ant build и сбрасывает значения до значений по умолчанию. , Поэтому я сбросил все переменные вручную (без скрипта) вместо запуска скрипта и запустил:
sourceanalyzer -b lenya -Xmx1200M touchless tools/bin/ant -logger org.apache.tools.ant.NoBannerLogger
Тогда я побежал:
sourceanalyzer -b lenya -Xmx1200M -scan -f lenya.fpr
но я получил ту же ошибку. Я не уверен, что это из-за того, что я делаю что-то не так, или если это не то, что Fortify делает не правильно. Любое понимание будет отличным.