GGI Activity: 管理軟體相依性


Table of contents


管理軟體相依性

行動編號: GGI-A-23

描述

軟體相依性的識別 程式會尋找程式碼庫中實際使用的軟體相依性。因此,組織必須建立並維護已知軟體相依性的清單,並監控所識別供應商的變動。

建立和維護已知軟體相依性清單是以下工作的前提條件:

  • 智慧財產 (IP) 和授權檢查:某些授權條款無法混用,即使是軟體相依性也不行。了解自己的軟體相依性,才能評估相關的法律風險。
  • 漏洞管理:整個軟體的安全性取決於最弱的一環。例如 Heartbleed 漏洞。了解軟體相依性才能評估相關的安全風險。
  • 生命周期和可持續性:軟體相依性專案中活躍的社群是錯誤修復、優化和新功能的良好指標。
  • 根據「成熟度」標準精心選擇使用的軟體相依性,目標是使用安全且有良好維護的程式碼庫,並擁有活躍且積極回應的社群,這樣的社群會接受外部貢獻等。

機會評估

識別和追蹤軟體相依性是減輕任何程式碼重用風險的必要步驟。此外,實施工具和流程以管理軟體相依性是妥善管理品質、合規性和安全性的前提條件。

請考慮以下問題:

  • 如果軟體被破壞、攻擊或遭到起訴,公司面臨的風險(成本、聲譽等)是什麼?
  • 程式碼庫是否對人員、組織或業務具有關鍵性?
  • 如果應用程式所相依的元件更改其儲存庫會怎樣?

最基本且首要的步驟是實施一個軟體組成分析 (SCA) 工具。對於全面的 SCA 或軟體相依性映射,可能需要專業諮詢公司提供支援。

進度評估

以下檢驗要點顯示了此行動的進度:

  • 所有內部開發的程式碼中都已識別出軟體相依性。
  • 公司內執行的所有外部程式碼中都已識別出軟體相依性。
  • 專案可在其持續整合 (CI) 流程中加入易於設置的軟體組成分析或軟體相依性識別程序。
  • 使用軟體相依性分析工具。

工具

  • OWASP Dependency check:Dependency-Check 是一個軟體組成分析 (SCA) 工具,旨在檢測專案軟體相依性中的已公開漏洞。
  • OSS Review Toolkit:一套工具,協助審查開放原始碼軟體的相依性。
  • Fossa:快速、便攜且可靠的軟體相依性分析工具。支援授權與漏洞掃描,語言無關,並與 20 多種建置系統整合。
  • Software 360
  • Eclipse Dash license tool:接收軟體相依性清單並請求 ClearlyDefined 檢查其授權。
  • The FOSSology Project:FOSSology 是一個開放原始碼專案,致力於推進開放原始碼授權合規性。

建議

  • 定期對軟體相依性和知識產權要求進行審核,以減輕法律風險。
  • 理想情況下,應將軟體相依性管理整合到持續整合 (CI) 流程中,以便盡早識別並修復問題(新增軟體相依性、授權不兼容等)。
  • 持續追蹤與軟體相依性相關的漏洞,並通知使用者和開發者。
  • 向相關人員說明錯誤授權所帶來的風險。
  • 為專案提供簡單的解決方案,以便在其程式碼庫上設置授權檢查。
  • 傳達授權檢查的重要性,並協助專案將其整合到 CI(持續整合)系統中。
  • 針對軟體相依性風險設立可見的 KPI。

資源

建議的下一步行動

  • GGI-A-21 - 管理法律合規:在能夠追蹤知識產權和授權不兼容性之前,必須先識別開放原始碼軟體中的所有軟體相依性。
  • GGI-A-22 - 管理軟體漏洞:在能夠追蹤程式碼資產中的漏洞之前,必須先識別開放原始碼軟體中的所有軟體相依性。