web-dev-qa-db-ja.com

コマンドラインの使用法を強化する

誰かがコマンドラインを使用して強化を実行しましたか? CIビルドにfortifyrunを組み込んでみましたが、その方法がわかりません。

18
alice7

コメントを追加できないので、これを回答として提供する必要があります。当社はスキャンプロセスをTFSビルド環境に統合しており、非常にうまく機能しています。

これを実現するために、一連の「InvokeProcess」ビルドアクティビティを使用します。セキュリティスキャンシーケンス全体は、ビルド定義への引数として公開される条件にラップされます。これにより、必要に応じてスキャンを有効または無効にできます。また、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"

完全な要約および/またはいくつかの画面キャプチャが必要な場合は、喜んで何かを提供します。

14

一般的なスキャンのコマンドは次のようになります。

  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>

誰かがフォーマットを知っているなら、私に知らせてください。

6
user2122786

Fortifyには静的コードアナライザーツールsourceanalyzerがあります。このツールはコマンドラインベースであるため、CIシステムに統合できるものである必要があります。

上記のように、ヘルプオプションを使用するか、多くの言語とオプションをカバーするドキュメント/ユーザーガイド(名前:HP Fortify Static Code Analyzerユーザーガイド)を確認できます。

考慮する必要があるかもしれない1つのポイントは、CIシナリオでそのようなスキャンを実行する速度とリソース使用率です。これを一晩またはオフピーク時に実行することを検討する必要がある場合があります。ドキュメントには、ツールが適切な量のメモリを使用すると記載されています。

また、sourceanalyzerツールが生成する出力fprファイルを処理する方法を理解する必要がある場合もあります。たとえば、これをTeam Cityでアーティファクトにして、Fortifyサーバーに手動でアップロードしたり、Fortifyワークベンチ製品で使用したりできます。また、Fortifyサーバーへのアップロードを自動化することもできると思います。

4
rifferte

ここで非常に良い答えです。これをスキャンしながらロギングを追加できることを付け加えたいと思います。

ロギング付きスキャン

sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr -debug -verbose -logfile "C:\ logfile.txt"

3
user428747

ヘルプテキストに適切なビルドコマンドが表示されない場合はお知らせください。実世界の呼び出しの99%がそこにあります。

作成しようとしているソースコードの種類に応じて、使用するコマンドラインスイッチとテクニックは数十種類あります。

まず、SCAユーザーガイドを入手することをお勧めします。これは、Fortifyインストーラーを提供した人から入手できるPDFドキュメントです。

2
Douglas Held