探索持續安全性驗證
如今的開發人員經常使用公用套件來源 (例如 npm 或 NuGet) 提供的元件。
許多組織都鼓勵使用開放原始碼的軟體 (OSS) 元件,藉此掌握更快速的傳遞速度和更好的生產力。
不過,當這些協力廠商 OSS 元件的相依性增加時,安全性弱點或隱藏授權需求的風險也會帶來更多合規性問題。
這對於企業而言不容忽視,因為合規性、責任和客戶個人資料相關的問題可能會造成許多的隱私權和安全性擔憂。
在發行週期早期找出這類問題,可讓您提前進行警告,並有足夠的時間來修正問題。 值得注意的是,專案越早發現問題,則修正問題的成本也會越低。
許多工具都可以掃描組建和發行管線內的這些弱點。
在合併完成之後,應該在提取要求 (PR-CI) 程序期間執行 CI 建置。
一般而言,這兩個執行的主要差異在於 PR-CI 程序不需要在 CI 建置中執行任何封裝/預備。
這些 CI 建置應該執行靜態程式碼分析測試,以確保程式碼遵循所有維護和安全性規則。
您可以對其使用數個工具:
- SonarQube。
- Visual Studio Code Analysis 和 Roslyn Security Analyzer。
- Checkmarx - 靜態應用程式安全性測試 (SAST) 工具。
- BinSkim - 二進位靜態分析工具,可為 Windows 可攜式可執行檔等提供安全性和正確性結果。
這些工具有許多都可以順暢地整合到 Azure Pipelines 建置程序。 如需這些工具整合功能的詳細資訊,請瀏覽 Visual Studio Marketplace。
此外,若要使用 CI 建置來驗證程式代碼品質,其他兩個繁瑣或被忽略的驗證將會掃描第三方套件是否有弱點和 OSS 授權使用。
當我們詢問第三方套件弱點和授權時,回應是擔心或不確定。
那些嘗試管理第三方套件弱點或 OSS 授權的組織會說明其程序十分繁瑣且為手動。
幸運的是,Mend Software 的工具幾乎可以立即進行此識別程序。
在稍後的課程模組中,我們將討論整合數個實用且常用的安全性和合規性工具。