2010-10-13 406 views
12

有沒有人使用命令行來運行fortify? 我試着在我的CI構建中加入強化運行,我不知道該怎麼做。Fortify命令行使用

+1

我想我得到了使用sourcecodeanalyzer -h來獲得命令行幫助的出發點。 – alice7 2010-10-13 15:49:27

回答

2

如果在幫助文本中沒有看到相應的構建命令,請告知我們。 99%的真實世界的調用在那裏。

根據您嘗試構建的源代碼類型,有幾十種不同的命令行開關和技術可供使用。

我建議您從獲取SCA用戶指南開始。這是一份PDF文檔,您可以從向您提供Fortify安裝程序的人那裏獲得。

3

Fortify有一個靜態代碼分析工具,sourceanalyzer。這個工具是基於命令行的,因此應該是可以集成到CI系統中的東西。

如上所述,您可以使用幫助選項或查看涵蓋多種語言和選項的文檔/用戶指南(名稱:HP Fortify Static Code Analyzer用戶指南)。

您可能需要考慮的一點是在CI場景中執行此類掃描的速度和資源利用率。您可能需要考慮在夜間或非高峯時段運行此操作。該文檔指出該工具使用了相當數量的內存。

您可能還必須弄清楚如何處理sourceanalyzer工具生成的輸出fpr文件。例如,您可以將其作爲Team City中的工件,並手動將其上傳到Fortify服務器或與Fortify工作臺產品一起使用。我想你也可以看到並自動上傳到Fortify服務器。

3

典型掃描的命令看起來像這樣。

  1. 構建使用

sourceanalyzer -b <build ID> <sourcecode>

  • 掃描與
  • sourceanalyzer -b <build ID> -scan -f <test>.fpr

    構建
  • (如果您使用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>

    如果有誰知道的,請不要讓我知道的格式。

    +0

    當您使用-build-label時,您必須提供一個標籤名稱,例如: 'Sourceanalyzer -b testid codebase -build-label MyLabel' 接下來,登錄到Fortify軟件安全中心(SSC)服務器,雙擊您的項目版本,單擊工件,單擊任何分析結果,您應該看到結果的詳細信息。在這些細節中,您會看到「構建標籤」。 – AspiringTFSGuru 2014-02-14 16:38:15

    12

    由於我不能添加評論,我將不得不提供這個答案。我們公司已將掃描過程整合到我們的TFS構建環境中,並且工作得很好。

    我們使用一系列「調用過程」構建活動來實現此目的。整個安全掃描序列被封裝在一個條件中,作爲構建定義的參數公開。這使我們可以根據需要啓用或禁用掃描。我們還公開了一些其他內容,例如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"

    如果你想一個完整的破敗和/或一些屏幕截圖,我很樂意爲你提供的東西。

    2

    非常好的答案在這裏,我想補充說,你可以在掃描時添加日誌記錄,這非常有幫助。

    掃描與記錄

    sourceanalyzer -b 「構建ID」 型掃描-format FPR -f BuildID.fpr -debug -verbose -logfile 「C:\ LOGFILE.TXT」