雲寶寶報你知!
本文介紹了一系列用於管理應用程序依賴的最佳實踐,包括漏洞監控、軟體驗證以及減少依賴足跡並使其可重現。
– 固定版本
將應用程序的依賴版本限制為單個版本
將依賴固定版本會有凍結您的應用程序的副作用。 雖然這是可重複性的良好做法,但它的缺點是讓您在依賴發布新版本時無法接收更新,無論是用於安全修復、錯誤修復還是一般改進。
而這可以通過將自動化依賴管理工具應用於您的源代碼控制存儲庫來緩解。
– 簽名和哈希驗證
透過簽名和哈希驗證,來確認您安裝的特定版本的依賴,是您想要安裝的。
透過哈希驗證,可以確保您下載的依賴沒有被中間人攻擊或是破壞儲存庫替換掉。
簽名驗證則為驗證過程增加了額外的安全性。
– Lockfiles 和依賴編譯
Lockfiles準確指定應用程序該安裝哪個版本的依賴。 通常由安裝工具自動生成。
完整的依賴樹是通過「編譯」或完全解析頂級依賴安裝的所有依賴而生成的。
完整的依賴樹意味著將您的應用程序的所有依賴項都包含在您的鎖定文件中。
– 混合私有和公共依賴
在混合私有和公共依賴時,要注意「依賴混淆」攻擊:通過將與內部項目同名的項目發佈到開源存儲庫,攻擊者可能會利用錯誤配置的安裝程序來安裝包含惡意庫的項目。
為了避免「依賴混淆」攻擊,您可以:使用 Lockfiles、將第三方依賴和內部依賴的安裝分為兩個不同的步驟、將您需要的第三方依賴鏡像到您的私有存儲庫中。
– 刪除未使用的依賴
您可能會在程式碼的重構過程中,棄用某些依賴。當依賴被棄用後,應該要刪除這些不再被使用的依賴。
使用工具審核您的需求文件以確定您的依賴是否正在實際使用或導入,允許您將其集成到您的常規 linting 和測試中。
– 漏洞掃描
漏洞掃描允許您自動且一致地評估您的依賴是否將漏洞引入您的應用程序。
漏洞掃描工具使用 Lockfiles 來準確確定您的依賴,並在新漏洞出現時通知您,有時甚至提供建議的升級路徑。