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

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


person alice7    schedule 13.10.2010    source источник
comment
Я думаю, что я получил отправную точку, чтобы использовать sourcecodeanalyzer -h для помощи с командной строкой.   -  person alice7    schedule 13.10.2010


Ответы (6)


Поскольку я не могу добавить комментарий, мне придется предложить это в качестве ответа. Наша компания интегрировала процесс сканирования в нашу среду сборки TFS, и он работает очень хорошо.

Чтобы это произошло, мы используем серию действий сборки «Invoke Process». Вся последовательность сканирования безопасности заключена в условие, которое предоставляется в качестве аргумента для определения сборки. Это позволяет нам включать или отключать сканирование по мере необходимости. Мы также раскрываем несколько других вещей, таких как Fortify Project, Fortify Project Version и другое условие для загрузки файла FPR.

Суть его вот в чем:

Очистить

sourceanalyzer -b "Build ID" -clean

Создать

sourceanalyzer -b "Build ID" devenv BuildID.sln /Rebuild Debug /out "C:\SSCLogs\SSCBuild.log"

Сканировать

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"

Если вам нужно полное изложение и/или несколько снимков экрана, я буду рад предоставить вам кое-что.

person Steve L.    schedule 13.12.2013

Команды для типичного сканирования будут выглядеть примерно так.

  1. строит код, используя

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>

Если кто-нибудь знает формат, пожалуйста, дайте мне знать.

person user2122786    schedule 26.03.2013
comment
Когда вы используете -build-label, вы должны указать имя метки, поэтому в вашем примере: Sourceanalyzer -b testid codebase -build-label MyLabel Затем войдите на сервер Fortify Software Security Center (SSC), дважды щелкните версию своего проекта, щелкните Артефакты, щелкните любой из результаты анализа, и вы должны увидеть подробную информацию о результате. В этих деталях вы увидите метку Build. - person Steve L.; 14.02.2014

В Fortify есть инструмент для статического анализа кода sourceanalyzer. Этот инструмент основан на командной строке, поэтому его можно интегрировать в систему CI.

Как упоминалось выше, вы можете воспользоваться справкой или просмотреть документацию/руководство пользователя (название: Руководство пользователя анализатора статического кода HP Fortify), которое охватывает множество языков и вариантов.

Один момент, который вам, возможно, придется учитывать, — это скорость и использование ресурсов при выполнении такого сканирования в сценарии CI. Возможно, вам придется подумать о том, чтобы запустить его ночью или в нерабочее время. В документации указано, что инструмент использует приличный объем памяти.

Возможно, вам также придется выяснить, как обрабатывать выходной файл fpr, который создает инструмент sourceanalyzer. Например, вы можете сделать это артефактом в Team City и вручную загрузить его на сервер Fortify или использовать с продуктом Fortify workbench. Я полагаю, что вы также могли бы проявить фантазию и автоматизировать загрузку на сервер Fortify.

person rifferte    schedule 04.01.2012

Здесь очень хорошие ответы, я хотел бы добавить, что вы можете добавить ведение журнала при сканировании, это очень полезно.

СКАНИРОВАНИЕ с ведением журнала

sourceanalyzer -b "Идентификатор сборки" -scan -format fpr -f BuildID.fpr -debug -verbose -logfile "C:\logfile.txt"

person user428747    schedule 26.11.2014

Сообщите нам, если вы не видите подходящую команду сборки в тексте справки. Там находится 99% вызовов реального мира.

В зависимости от того, какой исходный код вы пытаетесь создать, можно использовать десятки различных ключей и методов командной строки.

Я рекомендую вам начать с получения Руководства пользователя SCA. Это документ в формате PDF, который вы можете получить у того, кто предоставил вам установщик Fortify.

person Douglas Held    schedule 13.10.2010

В моей компании мы создали образ докера для управления командами Fortify в процессе CI.

По сути, мы разработали скрипт на Python, который поможет нам сохранить централизованное сканирование, а затем вызвать этот докер изображения в задании в GitlabCI.

Как объяснили ребята, sourceanalyzer — это инструмент для сканирования, и мы используем инструмент cloudcan для подключения к SCC, загрузки сканов и проверки состояния анализа.

Мы также используем:

  • fortifyclient для загрузки в файлы *.fpr
  • FPRUtility для слияния файлов *.fpr
  • ReportGenerator, чтобы сделать pdf с окончательным результатом.

В настоящее время мы используем фортифай 19.10.

person Jess    schedule 30.12.2020