本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SEC11-BP05 集中套件和相依性的服務
提供可讓建置人員團隊取得軟體套件和其他相依性的集中化服務。這樣套件就能先接受驗證,再納入編寫的軟體,並提供在您的組織中被使用的軟體分析的資料來源。
預期成果:軟體由一組其他軟體套件,加上原先所寫程式碼共同組成。這使得重複使用的功能實作變得簡單,例如JSON剖析器或加密程式庫。依照邏輯方式集中這些套件與相依性的來源,可以為安全團隊提供先驗證過套件再提供使用的機制。這個方法也能減少由於現有套件變更或直接由建置人員團隊從網際網路納入任意套件,而引發未預期的風險問題。使用這個方法再加上手動與自動測試流程,就能提高對於開發中軟體品質的信心。
常見的反模式:
-
從網際網路的任意儲存庫中取出套件。
-
新套件未經測試就提供給建置人員。
建立此最佳實務的優勢:
-
更清楚了解哪些套件將用於建置中的軟體。
-
可以在了解過實際使用情況而需要更新套件時通知工作負載團隊。
-
降低在軟體中納入有問題套件的風險。
未建立此最佳實務時的風險暴露等級:中
實作指引
提供可讓建置人員輕鬆取得的套件和其他相依性集中化服務。集中化服務可依照邏輯方式進行集中,而非實作成單一龐大的系統。這個方法可讓您用符合建置人員需求的方式提供服務。您應該實作一種有效率的方式,在發生更新或出現新需求時將套件新增至儲存庫。例如 AWS CodeArtifact
實作步驟:
實作依照邏輯方式集中,而且各種軟體開發所在環境均可使用的儲存庫服務。
將儲存庫的存取作業納入 AWS 帳戶 銷售程序。
建置自動化測試流程,在將套件發行至儲存庫之前先進行測試。
維護最常使用的套件、語言,以及變更程度最高團隊的規格表。
-
提供可讓建置人員團隊自動要求新套件與提供意見回饋的機制。
-
定期掃描儲存庫中的套件,識別最近所找到問題的潛在影響。
資源
相關的最佳實務:
相關文件:
相關影片:
相關範例: