Кто-нибудь использовал командную строку для запуска fortify? Я пытаюсь включить fortify run в мою сборку CI, и я не знаю, как это сделать.
Упорядочить использование командной строки
Ответ 1
Поскольку я не могу добавить комментарий, я должен предложить это как ответ. Наша компания интегрировала процесс сканирования в нашу среду сборки TFS и работает очень хорошо.
Мы используем серию действий по созданию "Invoke Process", чтобы это произошло. Вся последовательность сканирования безопасности заверяется в условное выражение, которое отображается в качестве аргумента для определения сборки. Это позволяет нам включать или отключать сканирование по мере необходимости. Мы также раскрываем несколько других вещей, таких как Fortify Project, Fortify Version Version и еще одно условие для загрузки файла FPR.
Суть в этом:
Clean
sourceanalyzer -b "Build ID" -clean
Строить
sourceanalyzer -b "Build ID" devenv BuildID.sln /Rebuild Debug /out "C:\SSCLogs\SSCBuild.log"
Scan
sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr
Загрузка в SSC
fortifyclient.bat -url SSCServerUrl -authtoken XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX uploadFPR -file BuildID.fpr -project "MyProject" -version "MyProject v1.0.0"
Если вы хотите получить полный снимок и/или некоторые снимки экрана, я был бы рад предоставить вам что-то.
Ответ 2
Команды для типичного сканирования выглядят примерно так.
- создает код с помощью
sourceanalyzer -b <build ID> <sourcecode>
- сканирует сборку с помощью
sourceanalyzer -b <build ID> -scan -f <test>.fpr
- (Если вы используете сервер 360) загружает результат, чтобы укрепить сервер с помощью
fortifyclient uploadFPR -f <test>.fpr -project <projectname> -version <versionname> -urlhttps://fortify.com/f360 -user <username> -password <password> /// <authtoken>
Однако я запрашиваю помощь с метками сборки. Когда мы вызываем SCA, мы можем назначить ему метку сборки. Однако я не уверен, какие опции предоставить командам.
sourceanalyzer -b testid codebase -build-label <option>
Если кто-то знает формат, пожалуйста, дайте мне знать.
Ответ 3
У Fortify есть инструмент анализатора статического кода, sourceanalyzer. Этот инструмент основан на командной строке и как таковой должен быть чем-то, что вы могли бы интегрировать в систему CI.
Как упоминалось выше, вы можете использовать опцию help или просмотреть документацию/руководство пользователя (названное: HP Fortify Static Code Analyzer User Guide), которое охватывает многие языки и варианты.
Один момент, который вам, возможно, потребуется рассмотреть, - это скорость и использование ресурсов для выполнения такого сканирования в сценарии CI. Возможно, вам придется подумать об этом в течение ночи или во время пиковых часов. В документации указано, что инструмент использует приличный объем памяти.
Вам также может понадобиться выяснить, как обрабатывать выходной файл fpr, который производит инструмент sourceanalyzer. Например, вы можете сделать это артефактом в Team City и загрузить его вручную на сервер Fortify или использовать его с продуктом Workbench Fortify. Я бы предположил, что вы также можете получить фантазию и автоматизировать загрузку на сервер Fortify.
Ответ 4
Сообщите нам, если вы не видите соответствующую команду сборки в тексте справки. 99% вызовов реального мира есть.
В зависимости от того, какой исходный код вы пытаетесь построить, существуют десятки различных переключателей и методов командной строки.
Я рекомендую вам начать с получения руководства пользователя SCA. Это документ PDF, который вы можете получить от того, кто предоставил вам установщик Fortify.
Ответ 5
Очень хорошие ответы здесь, я хотел бы добавить, что вы можете добавить журнал, сканируя это очень полезно.
SCAN с протоколированием
sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr -debug -verbose -logfile "C:\logfile.txt"