2017-02-08 7 views
1

У меня есть этот .bat-файл, который сканирует одно из моих приложений на работе.HP Fortify ASP.Net Web Forms

я сравниваю два пути я сгенерировали .fpr файл:

  • Использование мастера сканирования
  • Использование HP FORTIFY плагин для Visual Studio.

Что происходит, когда файл .fpr генерируется байт-файлом Scan Wizard, он, кажется, полностью игнорирует все мои файлы .aspx, aspx.cs и .cs внутри приложения.

Мое приложение - это старые веб-формы, которые, чтобы опубликовать его, мы должны выбрать эту предварительно скомпилированную опцию в Visual Studio.

Я уже пробовал решение Эрика в сообщении. HP Fortify scans get ASP Pre-Compilation error

Но все равно ничего.

Я уже пытался создать файл летучей мыши до и после публикации, но оба возвращали одинаковое количество уязвимостей. Что-то около 15. После публикации он генерирует dll на все страницы, хотя это означает, что теоретически он должен обнаружить весь код приложения.

С другой стороны, когда я сгенерировал файл .fpr через плагин Visual Studio, он возвращает мне около 600 уязвимостей.

Моя настоящая проблема заключается в том, что нам нужно запускать файл .bat, а не Visual Studio, потому что у нас есть непрерывный процесс интеграции, в котором мы создаем приложение, запускаем анализ кода, а затем HP Fortify, чтобы завершить процесс, поэтому мне нужно, чтобы количество уязвимостей, возвращаемых при запуске плагина, было одним и тем же, когда я запускаю файл .bat.

Любая помощь будет очень признательна.

Благодарим вас за внимание!

ответ

2

Существует несколько различных вариантов.

1) Установите Visual Studio на машину CI с установленным плагином Fortify. Вот пакетный файл образец, который я использовал для сканирования WebGoat.Net с помощью Visual Studio

sourceanalyzer -b test -clean 

sourceanalyzer -b test -Xmx6G -verbose -debug -logfile vs_translate.txt "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" NewWebForms.sln /REBUILD Debug 

sourceanalyzer -b test -show-files > vs_files.txt 

sourceanalyzer -b test -show-build-warnings > vs_warnings.txt 

sourceanalyzer -b test -verbose -debug -logfile vs_scanlog.txt -scan -f vs_scan.fpr 

fprutility -information -categoryIssueCounts -project vs_scan.fpr 

2) с последней версией Fortify (16.20) вы можете сканировать .Net код непосредственно. Вот командный файл я создал для сканирования WebGoat.Net

sourceanalyzer -b test -clean 

sourceanalyzer -b test -dotnet-version 4.5.2 -cs-extern-alias "global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.EntityFramework.2.2.1\lib\net45\Microsoft.AspNet.Identity.EntityFramework.dll;global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll;global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll;global=C:\Samples\NewWebForms\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll" -dotnetwebroot NewWebForms\ -libdirs packages\**/*.dll;NewWebForms\bin\*.dll NewWebForms\**/* 

sourceanalyzer -b test -show-files > cmd_files.txt 

sourceanalyzer -b test -show-build-warnings > cmd_warnings.txt 

sourceanalyzer -b test -Xmx6G -verbose -debug -logfile cmd_scanlog.txt -scan -f cmd_scan.fpr 

fprutility -information -categoryIssueCounts -project cmd_scan.fpr 

3) Если вы хотите, вы можете также сканировать компиляции .dll-е ваш проект. Вот то, что я сделал для сканирования WebGoat.Net

sourceanalyzer -b test -Xmx8G -vsversion 14.0 
       @excludelist.txt 
       -Dcom.fortify.sca.SourceFiles=WebGoat.NET\WebGoat 
       -libdirs WebGoat.NET\WebGoat\bin WebGoat.NET\**/*.dll 
       WebGoat.NET/**/* 

Для более подробного рассмотрения этого, взгляните на мой ответ на более Fortify to scan 3rd party dll's

+0

При попытке сканирования WebGoat.Net с помощью опции № 2 в ваш ответ, сторонние .dll не подбираются с использованием шаблона. Есть идеи, почему это может быть? Я замечаю, что в вашем ответе вы используете косую черту '-libdirs '\ **/*. Dll;', это необходимо? – hamo

+0

Передняя косая черта по старой привычке, она используется для материи, просто проверена и выглядит как вперед или назад. Почему вы думаете, что он не взял вашу стороннюю DLL? Может ли ваш вопрос выполнить команду? – SBurris

+0

Когда я проверяю fpr в AWB после сканирования с помощью подстановочного знака, сторонние библиотеки не указаны, если я их укажу отдельно. – hamo

Смежные вопросы