Укрепить использование командной строки - PullRequest
15 голосов
/ 13 октября 2010

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

Ответы [ 5 ]

13 голосов
/ 13 декабря 2013

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

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

Суть этого такова:

Clean

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"

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

5 голосов
/ 26 марта 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>

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

4 голосов
/ 04 января 2012

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

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

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

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

3 голосов
/ 26 ноября 2014

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

SCAN с ведением журнала

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

2 голосов
/ 14 октября 2010

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

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

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

...