Loading AI tools
来自维基百科,自由的百科全书
软体组成分析(英语:Software composition analysis;简称SCA)是针对软体的分析,侦测是否有使用开放原始码(open source)组件,软体组件是否是最新版本,是否有会影响安全的缺陷,或是其中有需要授权(licensing)才能合法使用的组件[1]。
SCA产品的运作方式如下[2]:
在软体开发过程中,常会使用不同的组件来进行开发[6]。使用软件组件可以将复杂的较大组件分割成较小的程式码,增加灵活性,以后也可以配合新的需求而复用(reuse)这些组件[7]。在1990年代末,开放原始码软体(OSS)开始流行,此作法应用得更广,也可以加速软体开发时程,缩短产品上市时间[8]
不过,使用开源软体也为应用程式引入了风险,风险可以分为以下五类[9]:
在开放源代码促进会在1998年2月建立之后不久[10],也有人注意到开源软体相关的风险[11],各组织就试著用试算表以及文件来追踪开发者所使用的开源组件,设法进行管理[12]。
对于密集使用开源组件的组织,需要自动化开源风险的分析及管理。因此产生了帮助组织管理开源风险的软体,称为软体组成分析(Software Composition Analysis, SCA)。SCA设法侦测软体应用程式中有的所有第三方组件,减少相关安全漏洞、IP授权需求、及软体过期的相关风险。
组织中的不同部门里,SCA会有不同的用途。依组织的大小以及结构不同,会使用SCA的部门也会不同。IT部门会用SCA,和共同利害相关者(包括资讯长CIO、技术长CTO以及主企业架构师 Chief Enterprise Architects)来实现及运作相关技术。安全和授权的资料会让资安长(Chief Information Security Officers, CISO)确定安全风险,由Chief IP officer或首席合规官(Chief Compliance officer)处理智慧财产权的风险[13]。
有些SCA产品可以和开发产品时会使用的整合开发环境(IDE)整合,也有些SCA产品会是软体品质控制流程中的一个步骤[14][15]
SCA产品(特别是其产生软体材料表的能力)在一些国家(例如美国)是必要的,若要贩售软体给美国政府,软体供应商,需要提供软体材料表[16]。
另一个使用SCA的情境是在技术的尽责查证。在开始并购(M&A)流程前,需由独立谘询公司审核目标团队软体相关的风险[17]。
SCA产品自动化的特点是其主要优点。开发者使用及整理开源组件时,不需另外花费心力整理资料[18]。
目前SCA的产品有以下的缺点:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.