GitHub調整Dependabot的一般版本更新機制,套件新版本發布至套件登錄服務後,Dependabot現在預設至少等待3天,才會提出版本更新拉取請求(Pull Request,PR)。該設定不需另外啟用,僅適用於一般版本更新,要是專案使用的套件含有已知漏洞,Dependabot仍會即時提出安全性更新PR,不受等待期影響。
Dependabot是GitHub內建的相依套件管理工具。由於不少軟體大量使用第三方套件,避免從頭開發每項功能,但這些套件也會持續推出新版本或修補漏洞。Dependabot可定期檢查專案使用的套件,發現可用更新時自動提出PR,列出需要修改的版本,交由開發人員檢查、測試及合併。
GitHub將3天等待期設為預設值,主要是為了降低新版本剛發布時的供應鏈風險。若新版本遭到竄改或本身有問題,維護者與使用者社群可能尚未發現。延後提出更新PR,可讓相關異常有時間被發現與回報,降低開發團隊在版本發布後立即合併問題版本的機率。
3天等待期並非安全審查,也無法保證版本沒有問題。開發團隊仍須透過自動化測試、程式碼審查及部署流程,確認更新是否適合現有系統。這項機制只能降低團隊在版本剛發布時就合併更新的機率,不能取代既有的軟體安全與品質管理措施。
一般更新與安全修補採取不同處理方式,是為了避免延誤已知漏洞的修正。當專案使用的套件出現Dependabot漏洞警示,且已有可用修補版本時,Dependabot仍會立即提出安全性更新PR,讓團隊儘快處理風險。
開發團隊也可在.github/dependabot.yml設定檔中使用Cooldown選項,調整等待時間或停用預設等待期。這項預設機制適用於GitHub.com上Dependabot支援的所有套件生態系統,並將自GitHub Enterprise Server 3.23起生效。
Comments (0)