コマンドラインを使用して fortify を実行した人はいますか? CI ビルドに fortify run を組み込もうとしていますが、その方法がわかりません。
6 に答える
コメントを追加できないため、これを回答として提供する必要があります。当社はスキャン プロセスを TFS ビルド環境に統合しており、非常にうまく機能しています。
これを実現するために、一連の「Invoke Process」ビルド アクティビティを使用します。セキュリティ スキャン シーケンス全体は、ビルド定義への引数として公開される条件でラップされます。これにより、必要に応じてスキャンを有効または無効にすることができます。また、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"
完全な概要やスクリーン キャプチャが必要な場合は、喜んで提供させていただきます。
典型的なスキャンのコマンドは次のようになります。
- を使用してコードをビルドします
sourceanalyzer -b <build ID> <sourcecode>
- でビルドをスキャンします
sourceanalyzer -b <build ID> -scan -f <test>.fpr
- (360 サーバーを使用している場合) 結果を fortify サーバーにアップロードします。
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>
のフォーマットを知っている人がいたら教えてください。
Fortify には、静的コード アナライザー ツールsourceanalyzerがあります。このツールはコマンド ライン ベースであるため、CI システムに統合できるものである必要があります。
前述のように、ヘルプ オプションを使用するか、多くの言語とオプションをカバーするドキュメント/ユーザー ガイド (名前: HP Fortify Static Code Analyzer ユーザー ガイド) を確認できます。
考慮すべきポイントの 1 つは、CI シナリオでこのようなスキャンを実行する速度とリソースの使用率です。これを夜間またはオフピーク時に実行することを検討する必要がある場合があります。ドキュメントには、ツールが適切な量のメモリを使用すると記載されています。
また、sourceanalyzer ツールが生成する出力 fpr ファイルを処理する方法を理解する必要がある場合もあります。たとえば、これを Team City のアーティファクトにして、手動で Fortify サーバーにアップロードしたり、Fortify ワークベンチ製品で使用したりできます。Fortify サーバーへのアップロードを空想して自動化することもできると思います。
ここで非常に良い答えです。これは非常に役立つスキャン中にログを追加できることを付け加えたいと思います。
ロギング付きスキャン
sourceanalyzer -b "ビルド ID" -scan -format fpr -f BuildID.fpr -debug -verbose -logfile "C:\logfile.txt"
ヘルプ テキストに適切なビルド コマンドが表示されない場合はお知らせください。現実世界の呼び出しの 99% はそこにあります。
ビルドしようとしているソース コードの種類に応じて、さまざまなコマンド ライン スイッチと使用するテクニックがあります。
SCA ユーザー ガイドを入手することから始めることをお勧めします。これは、Fortify インストーラーを提供した人から入手できる PDF ドキュメントです。