備註
自 2022 年 12 月 31 日起,Microsoft安全性程式代碼分析 (MSCA) 延伸模組已淘汰。 MSCA 被 Microsoft Security DevOps Azure DevOps 擴充功能 取代。 請遵循 設定 中的指示來安裝和設定擴充功能。
透過Microsoft安全性程序代碼分析延伸模組,小組可以將安全性程序代碼分析新增至其 Azure DevOps 持續整合和傳遞 (CI/CD) 管線。 Microsoft 的 安全開發週期(SDL) 專家建議進行這項分析。
一致的UX藉由隱藏執行工具的複雜性來簡化安全性。 使用以 NuGet 為基礎的工具傳遞,小組不再需要管理工具的安裝或更新。 透過建置工作的命令行和基本介面,所有使用者都可以視需要對工具擁有盡可能多的控制權。
Teams 也可以使用強大的後置處理功能,例如:
- 發佈用於保留的日誌。
- 產生可採取行動的面向開發人員的報告。
- 設定在回歸測試中建置中斷的條件。
為何應該使用Microsoft安全性程序代碼分析?
安全性簡化
將Microsoft安全性程序代碼分析工具新增至 Azure DevOps 管線,就像新增工作一樣簡單。 自訂工作或使用其預設行為。 工作會在您的 Azure DevOps 管線中執行,並產生記錄來詳細說明許多種類的結果。
乾淨組建
解決工具所報告的初始問題之後,您可以設定擴充功能來中斷新問題的組建。 在每個提取要求上設定持續整合建置很簡單。
設定好就不用再管
根據預設,建置工作和工具會保持最新狀態。 如果工具有更新的版本,則不需要下載並安裝此工具。 擴充套件會為您處理更新。
內部構造
延伸模組的建置工作會隱藏下列複雜度:
- 執行安全性靜態分析工具。
- 處理記錄檔的結果,以建立摘要報表或中斷組建。
Microsoft安全性程式代碼分析工具集
Microsoft安全性程式代碼分析延伸模組可讓您輕鬆取得最新版本的重要分析工具。 此延伸模組同時包含Microsoft Managed 工具和開放原始碼工具。
當您使用對應的建置工作來設定及執行管線之後,這些工具會自動下載到雲端裝載的代理程式。
本節列出擴充功能中目前可用的工具集。 注意將新增更多工具。 此外,請將您希望我們新增的工具建議傳送給我們。
反惡意代碼掃描器
反惡意軟體掃描器建置工作現在已包含在 Microsoft 安全性程式代碼分析擴充功能中。 這項工作必須在已安裝 Windows Defender 的組建代理程式上執行。 如需詳細資訊,請參閱 Windows Defender 網站。
BinSkim
BinSkim 是可攜式可執行檔 (PE) 輕量型掃描器,可驗證編譯程式設定、鏈接器設定,以及其他二進位檔的安全性相關特性。 此建置工作會提供 binskim.exe 主控台應用程式周圍的命令行包裝函式。 BinSkim 是開放原始碼工具。 如需詳細資訊,請參閱 GitHub 上的 BinSkim。
認證掃描器
儲存在原始程式碼中的密碼和其他秘密是一個重大問題。 認證掃描器是專屬的靜態分析工具,可協助解決此問題。 此工具會偵測原始程式碼和組建輸出中的認證、秘密、憑證和其他敏感性內容。
Roslyn 分析器
Roslyn Analyzers 是Microsoft編譯程式整合工具,可靜態分析 Managed C# 和 Visual Basic 程式代碼。 如需詳細資訊,請參閱 Roslyn 型分析器。
TSLint
TSLint 是可延伸的靜態分析工具,可檢查 TypeScript 程式代碼是否可讀性、可維護性和功能錯誤。 它受到新式編輯器和建置系統的廣泛支援。 您可以使用自己的 lint 規則、配置和格式器來自訂它。 TSLint 是開放原始碼工具。 如需詳細資訊,請參閱 GitHub 上的 TSLint。
結果的分析與後置處理
Microsoft安全性程式代碼分析延伸模組也有三個後置處理工作。 這些工作可協助您分析安全性工具工作找到的結果。 新增到管道時,這些工作通常會在其他工具任務之後執行。
發佈安全性分析記錄
發佈安全性分析記錄建置工作會保留建置期間執行之安全性工具的記錄檔。 您可以讀取這些記錄以進行調查和後續追蹤。
您可以將記錄檔發佈至 Azure Artifacts 作為 .zip 檔案。 您也可以將其從私人建置代理程式複製到可存取的檔案共享位置。
安全性報告
安全性報告建置工作會剖析記錄檔。 這些檔案是由建置期間執行的安全性工具所建立。 建置工作接著會建立單一摘要報表檔案。 此檔案會顯示分析工具找到的所有問題。
您可以設定此工作來報告特定工具或所有工具的結果。 您也可以選擇要報告的問題層級,例如僅限錯誤或錯誤和警告。
分析後(建置失敗)
使用「建置後分析」工作,您可以插入故意造成建置失敗的中止點。 如果一或多個分析工具回報程式代碼中的問題,您將會引入建置過程中的中斷。
您可以設定此工作來中斷特定工具或所有工具所發現問題的建置程序。 您也可以根據找到的問題嚴重性來設定它,例如錯誤或警告。
備註
根據設計,如果工作順利完成,則每個建置工作都會成功。 不論工具是否發現問題,這樣做都能讓建置流程因為允許所有工具運行而順利完成。
後續步驟
如需如何上線及安裝Microsoft安全性程式代碼分析的指示,請參閱我們的 上線和安裝指南。
如需設定建置工作的詳細資訊,請參閱我們的 組態指南 或 YAML 組態指南。
如果您有關於擴充功能和所提供工具的進一步問題,請參閱我們的 常見問題頁面。