軟體組成分析 軟體組成分析英語Software composition analysis簡稱SCA是針對軟體的分析偵測是否有使用開放原始碼open source組件軟體組件是否是最新版本是否有會影響安全的缺陷或是其中有需要授權licensing才能合法使用的組件 SCA產品的運作方式如下 應用程式會掃描程式碼及編譯軟體會用到的相關檔案 應用程式會識別開源組件以及其版本會在掃描的應用程式目錄中建立資料庫其中有開源軟體的列表 接下來會將列表和另一個儲存組件已知安全漏洞授權需求以及組件歷史版本的資料庫比對在偵測安全漏洞時會和公共漏洞和暴露CVE比對此資料庫也是美國國家漏洞資料庫英语National Vulnerability DatabaseNVD追蹤的資料有些軟體有額外的專屬漏洞資料庫在確認智慧財產權IP或是法規合規 Legal Compliance議題時SCA產品會搜尋開源組件的授權資訊並且加以評估有些組件是源自常用的開源存儲庫像是GitHubMavenPyPINuGet等會用開源存儲庫識別出這些組件以及其版本 會用上述分析結果轉換為不同的數位格式讓終端使用者使用其內容和格式依SCA產品而定可能會包括評估及處理風險的指南若是有正常版或是較寬鬆版Copyleft授權的需求也會有建議作法輸出也會包括軟體材料表SBOM其中會列出應用程式中的所有組件版本及相關資訊其中也會包括開源組件