2017-02-08 2 views
1

Ich habe diese .bat-Datei, die eine meiner Anwendungen bei der Arbeit scannt.HP Fortify ASP.Net Web Forms

Ich vergleiche zwei Möglichkeiten, wie ich die .fpr Datei generiert haben:

  • Mit Scan Wizard
  • Mit dem HP Fortify Plugin für Visual Studio.

Was passiert ist, dass, wenn die .fpr Datei von Scan Wizard die .bat-Datei generiert wird es vollständig alle meine aspx, aspx.cs und CS-Dateien innerhalb der Anwendung zu ignorieren scheint.

Meine App ist eine alte Web Forms. Um sie zu veröffentlichen, müssen wir diese vorkompilierte Option in Visual Studio auswählen.

Ich habe bereits Erics Lösung in der Post versucht. HP Fortify scans get ASP Pre-Compilation error

Aber immer noch nichts.

Ich habe bereits versucht, die Bat-Datei vor und nach der Veröffentlichung zu generieren, aber beide die gleiche Anzahl von Sicherheitslücken zurückgegeben. Irgendetwas um 15. Nach dem Veröffentlichen erzeugt es DLLs auf allen Seiten, was bedeutet, dass theoretisch der gesamte Anwendungscode erkannt werden sollte.

Auf der anderen Seite, wenn ich die .fpr-Datei über das Visual Studio-Plugin generiert habe, gibt es mir etwa 600 Sicherheitslücken.

Mein echtes Problem ist, dass wir über die .bat-Datei, nicht das Visual Studio laufen müssen, weil wir einen kontinuierlichen Integrationsprozess haben, in dem wir die App erstellen, Code-Analyse ausführen und dann die HP Fortify vervollständigen Ich brauche die Anzahl der Sicherheitslücken, die beim Ausführen des Plugins mit der .bat-Datei zurückgegeben werden.

Jede Hilfe wäre sehr willkommen.

Vielen Dank für Ihre Zeit!

Antwort

2

Es gibt mehrere verschiedene Möglichkeiten, die Sie tun können.

1) Lassen Sie Visual Studio auf dem CI-Computer mit dem installierten Fortify-Plugin installieren. Hier ist ein Beispiel Batch-Datei, die ich verwenden WebGoat.Net Visual Studio scannen

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) Mit der neuesten Version von Fortify (16,20), die Sie direkt .Net Code scannen. Hier ist die Batch-Datei, die ich 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) zu scannen, erstellt Wenn Sie möchten, können Sie auch die Kompilierung-DLL Ihres Projekts scannen. Hier ist, was ich 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/**/* 

Für einen genaueren Blick auf diese zu scannen haben, werfen Sie einen Blick auf meine Antwort über bei Fortify to scan 3rd party dll's

+0

Wenn ich versuche, das Scannen WebGoat.Net mit der Option No.2 in Ihre Antwort, die Drittanbieter-.dlls werden nicht mit dem Platzhalter aufgenommen. Irgendwelche Ideen warum das sein könnte? Ich bemerke in Ihrer Antwort, dass Sie einen Schrägstrich '-libdirs packages \ **/*. Dll;' verwenden, ist das notwendig? – hamo

+0

Der Schrägstrich ist auf alte Gewohnheit, es wird verwendet, um zu prüfen, nur getestet und sieht aus wie vorwärts oder rückwärts funktioniert jetzt. Warum glaubst du, hat es deine Drittanbieter-DLL nicht abgeholt? Kannst du deine Frage mit dem Befehl ausführen? – SBurris

+0

Wenn ich fpr in AWB nach dem Scannen mit Wildcard überprüfen, sind die Third-Party-Bibliotheken nicht aufgeführt, wenn ich sie einzeln angeben, sind sie. – hamo

Verwandte Themen