2016-05-13 91 views
2

セキュアなコード解析を実行するプロセスの自動化の一環として、sourceanalyzerコマンドラインツールを使用して.fpr結果ファイルを生成するJenkinsジョブがあります。現時点では、Audit Workbenchアプリケーションでこの結果ファイルを開き、結果を表示し、新しく導入された問題などがないかどうかを確認し、そこからPDF/XML形式でレポートを生成します。Fortify結果ファイル(.fpr)のコマンドラインによる解釈

誰でも、Audit Workbenchをコマンドラインから起動して、問題に関するレポートを生成することはできますか?その場合、Jenkinsスクリプトを活用して結果をメールすることはできますか?オンラインを見ると、コマンドラインの使用はfprの生成段階で停止するようです。

ありがとうございます!

答えて

6

FPRファイルからレポートを生成するコマンドラインユーティリティがあります。

現在、レガシーとBIRTの2つのレポート生成プログラムがあります。 BIRTレポートエンジンは、バージョン4.40のAudit Workbenchに導入されました。ここで

は1つがもう少し関与しているレガシーを使用してDISA STIGレポート

BIRTReportGenerator -template "DISA STIG" -source HelloWorld_second.fpr 
    -output BirtReport.pdf -format PDF -showSuppressed --Version "DISA STIG 3.9" 
    -UseFortifyPriorityOrder 

を生成するために、BIRTレポートエンジンを使用した例です。コマンドは次のとおりです。

ReportGenerator -format pdf -f LegacyReport.pdf -source HelloWorld_second.fpr 
    -template DisaStig3.10.xml -showSuppressed -showHidden 

あなたは<SCA Install Dir>/Core/config/reportsディレクトリにある事前に定義されたテンプレートのレポートのいずれかを使用するか、レポートウィザードを使用して、WindowsのC:\Users\<USER>\AppData\Local\Fortify\config\AWB-XX.XX\reports\ディレクトリに保存されますテンプレートを保存するものを生成することができます。あなたはを抑え表示したくない場合は、レポートが

+0

はあなたに@SBurisをありがとう、私は抑制問題(と彼らのコメント)を含むように、古いレポート生成ユーティリティを必要と考え出し、非常に感謝! –

1

@SBurris、

を保存する場所のLinux/Macの

com.fortify.WorkingDirectoryプロパティの設定ファイル<SCA Install Dir>/Core/config/fortify.propertiesを見て、これは/隠されているだけですか?隠されていて隠されていますか?

また、AWBのGUIで作成できるように、STIG/SANS/OWASPの "nones"のようなものを表示しないカスタムフィルタを追加する方法はありますか?

基本的には、2つのFPRをマージし、スキャンされたコードと古いFPRの新しいものに基づいて比較するコマンドが必要です。

マージする必要があります:

FPRUtility -merge -project <newest_scan.fpr> -source <previous_scan.fpr> -f <BUILDXX_MergedWith_BUILDXY.fpr>

私は、マージ後に必要なカスタムフィルタは次のとおりです。

フィールド上で検出されたが、私が必要とするカスタムタグである

"[OWASP Top 10 2013]:!<none> OR [SANS Top 25 2011]:!<none> OR [STIG 3.9]:!<none> AND [Detected On]:!/^/"

  • 以前のFPRファイルから新しく結合されたFPRファイルにキャリースルーする。

、その後、私が指定した場所/ファイル名にPDF xml形式でその新しくマージされたFPRからの出力を報告しています。

~AWB_Installation_Dir/bin/ReportGenerator -format pdf -f [BUILDXX_MergedWith_BUILDXY].pdf -source output.fpr 
    -template DisaStig3.10.xml -hideSuppressed -hideHidden 

明らかに、これはBambooに戻すことができる限り、多数のコマンドになる可能性があります。どんな助けでも大歓迎です。ありがとう。

+0

以下の私の答えでは、FPRUtilityが検索フィルターの複合式を誤解していることがわかりました。 –

0

FPRUtilityは、クエリに複数の条件がある場合、 "-information -search -query ..."パラメータを誤って解釈するように見えます。 (おそらく、抑制された問題を除外する条件などの余分な条件が追加されます)。私は、重要な課題と高い問題のスコアを分離することで、この問題を回避することができます。

監査の場合
cmd /c call FPRUtility -project APP_VER_DATE.fpr -information -search -query "[fortify priority order]:critical" -categoryIssueCounts -listIssues > fortify-critical.txt 
cmd /c call FPRUtility -project APP_VER_DATE.fpr -information -search -query "[fortify priority order]:high" -categoryIssueCounts -listIssues > fortify-high.txt 

、私は

cmd /c call ReportGenerator -format pdf -f APP_VER_DATE.pdf -source APP_VER_DATE.fpr -showSuppressed 
+0

Re: "OWASP Top 10 2013"などの検索プロファイルを発行すると、FPRUtility.batが-search -query "[OWASP Top 10 2013] :! "パラメータで使用されている山括弧や感嘆符を壊していることが判明しました。 java -jar c:\ fortify \ Core \ lib \ exe \ fpr-utility-exe.jar -project PROJ.fpr -information -search -query "[OWASP Top 10 2013] :! "-categoryIssueCounts -listIssues'。 –

関連する問題