Подтвердить что ты не робот

Упорядочить использование командной строки

Кто-нибудь использовал командную строку для запуска fortify? Я пытаюсь включить fortify run в мою сборку CI, и я не знаю, как это сделать.

4b9b3361

Ответ 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>

  1. сканирует сборку с помощью

sourceanalyzer -b <build ID> -scan -f <test>.fpr

  1. (Если вы используете сервер 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"