有沒有人使用命令行來運行fortify? 我試着在我的CI構建中加入強化運行,我不知道該怎麼做。Fortify命令行使用
回答
如果在幫助文本中沒有看到相應的構建命令,請告知我們。 99%的真實世界的調用在那裏。
根據您嘗試構建的源代碼類型,有幾十種不同的命令行開關和技術可供使用。
我建議您從獲取SCA用戶指南開始。這是一份PDF文檔,您可以從向您提供Fortify安裝程序的人那裏獲得。
Fortify有一個靜態代碼分析工具,sourceanalyzer。這個工具是基於命令行的,因此應該是可以集成到CI系統中的東西。
如上所述,您可以使用幫助選項或查看涵蓋多種語言和選項的文檔/用戶指南(名稱:HP Fortify Static Code Analyzer用戶指南)。
您可能需要考慮的一點是在CI場景中執行此類掃描的速度和資源利用率。您可能需要考慮在夜間或非高峯時段運行此操作。該文檔指出該工具使用了相當數量的內存。
您可能還必須弄清楚如何處理sourceanalyzer工具生成的輸出fpr文件。例如,您可以將其作爲Team City中的工件,並手動將其上傳到Fortify服務器或與Fortify工作臺產品一起使用。我想你也可以看到並自動上傳到Fortify服務器。
典型掃描的命令看起來像這樣。
- 構建使用
sourceanalyzer -b <build ID> <sourcecode>
- 掃描與
- (如果您使用360服務器)上傳結果來強化服務器
sourceanalyzer -b <build ID> -scan -f <test>.fpr
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>
如果有誰知道的,請不要讓我知道的格式。
當您使用-build-label時,您必須提供一個標籤名稱,例如: 'Sourceanalyzer -b testid codebase -build-label MyLabel' 接下來,登錄到Fortify軟件安全中心(SSC)服務器,雙擊您的項目版本,單擊工件,單擊任何分析結果,您應該看到結果的詳細信息。在這些細節中,您會看到「構建標籤」。 – AspiringTFSGuru 2014-02-14 16:38:15
由於我不能添加評論,我將不得不提供這個答案。我們公司已將掃描過程整合到我們的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"
如果你想一個完整的破敗和/或一些屏幕截圖,我很樂意爲你提供的東西。
非常好的答案在這裏,我想補充說,你可以在掃描時添加日誌記錄,這非常有幫助。
掃描與記錄
sourceanalyzer -b 「構建ID」 型掃描-format FPR -f BuildID.fpr -debug -verbose -logfile 「C:\ LOGFILE.TXT」
- 1. 通過命令行解釋Fortify結果文件(.fpr)
- 2. 使用命令行
- 3. 使用命令行
- 4. 使用命令行
- 5. 命令行命令命令
- 6. 使用的MSBuild命令行
- 7. MySQL的使用命令行
- 8. 如何使用命令行
- 9. 如何使用命令行
- 10. 如何使用命令行
- 11. topojson.merge使用命令行API
- 12. 如何使用命令行
- 13. 從命令行使用sendmail
- 14. 使用Danf執行命令?
- 15. 使用JSch執行命令
- 16. 使用Gradle執行命令?
- 17. 無法使用SOURCE命令運行sql文件windows命令行
- 18. 在命令行中運行命令時的CPU使用情況
- 19. 使用Java按順序運行命令行命令
- 20. 使用ProcessBuilder執行需要命令行輸入的命令
- 21. 使用Java來執行WIndows命令行命令
- 22. 使用命令行重命名圖像
- 23. 使用split命令使用slice命令?
- 24. 使用dock命令使用aws命令
- 25. HP Fortify分析結果system()命令注入
- 26. Fortify,如何通過命令開始分析
- 27. 命令在fortify中創建一個新項目
- 28. 雷博爾CALL命令不完全一樣DOS命令(例如使用Subversion命令行)在DOS命令行
- 29. 用Linux製作命令行命令
- 30. 使用命令行進行調試
我想我得到了使用sourcecodeanalyzer -h來獲得命令行幫助的出發點。 – alice7 2010-10-13 15:49:27