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

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

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"

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

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

  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>

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

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

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

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

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

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

SCAN с логированием

sourceanalyzer -b "ID сборки" -scan -формат fpr -f BuildID.fpr -debug -verbose -logfile "C:\logfile.txt"

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам