作者:Black Duck按需审计部门市场营销总监Shandra Gemmiti
如果并购交易涉及到软件,那在目标代码库中识别开源组件就至关重要。通常,技术并购审计包括开源和第三方软件审计、应用安全审计以及代码质量审计。在满足并购尽职调查要求方面,光靠软件组成分析(SCA)还不够,开源审计能提供更多保障。全面了解开源许可证义务、应用程序安全性和代码质量风险,双方才能放心地做出明智的决策。
开源无处不在。多年来研究人员一直关注开源使用的增长,但由于现在开源十分普遍,他们对建立在开源组件基础上的应用安全愈发担忧。使用开源组件需要遵循开源许可,许多公司已经深刻意识到如果不满足这些规则要求,则会面临法律的风险。因此,在涉及技术并购的交易中,开源安全性和许可证合规性是收购方和目标公司的主要关注点之一。
这些公司可以通过执行软件组成分析(SCA)来追踪他们使用的开源。SCA是一种可识别应用中使用的第三方代码的自动化流程,能够发现在代码库中与开源相关的未修补的代码、许可证和潜在的安全漏洞。然而,在涉及软件的并购交易中,利益相关者们需要对代码库中的开源进行更为严格和快捷的评估,而这光依靠SCA工具是无法做到的。
自动化的SCA工具有助于单个公司监测和识别自用的开源组件和框架结构。调研机构451 Research有一篇报告详细阐述了并购交易中SCA的使用案例。成立不久的公司往往会将新的应用快速推向市场,因此他们越来越多地使用开源。经常使用自动化的SCA工具能够帮助这些公司进行漏洞追踪、补丁管理和确保许可证的合规性。当SCA工具直接集成到开发工作流时将发挥最大效用,让开发团队不用以牺牲速度为代价来减轻开源的风险。
但是企业使用不同的SCA工具,得到的分析结果也有差异,他们可能会遗漏一些潜藏的代码。依赖项扫描可以很好地发现已公开的开源代码,但是未在软件包管理器中公布、只是作为部分、或已修改组件引入的开源代码则可能会完全遗漏。此外,开源代码还可以通过复制粘贴开源代码“片段”,将其纳入代码中。尽管这看上去只是整个代码库的一小部分,该代码仍需要遵循其来源组件的许可义务,同时,在并购尽职调查中应该加以体现。
因此,在并购交易中,合规责任转移到了收购一方,他们需要关注目标公司代码库中知识产权所携带的潜在开源风险。
收购公司无法轻易对目标公司的代码库进行自动化SCA扫描。首先,并购交易尚未完成前,目标公司不会将其源代码移交给收购方;其次,自动化SCA扫描集成到开发工作流中时才能发挥最大效用,从而使得企业能够监测软件构建的过程;最后,以完成并购交易为目的而对扫描结果进行的评估和研究需要更多时间和更高专业性,这可能是并购团队无法做到的。
想要创建一个高度精准和详尽的、包含代码库中所有开源的软件物料清单(BoM),并且在交易的时间表内完成,最佳的办法是借助第三方来进行开源审计。
新思科技公司近日发布了《2020年开源安全和风险分析》报告(OSSRA)。该报告研究了由Black Duck审计服务团队执行的对超过1250个商业代码库的审计结果。其中开源占所有代码的70%。这意味着我们扫描的每个代码库中平均有三分之二以上包含开源组件。
需要特别注意的是,Black Duck审计的一个主要用处就是并购尽职调查,OSSRA报告中的数据可以作为并购交易中体现开源趋势的一项指标。
正如451 Research报告所述,更快速、更频繁的应用软件交付趋势不会在短期内消失:“在这些应用程序中使用开源组件已不再是一个新奇的想法。现在有很多开发人员使用由第三方编写的免费代码,这也是客户的交付需求促使的。”
新思科技OSSRA报告阐明了开源审计所揭露的相关风险:
扫描的代码库中超过99%都包含开源,平均每个代码库有445个开源组件
67%的代码库包含某种形式的开源代码许可证冲突,33%的代码库包含没有可识别许可证的开源组件。
75%的代码库包含至少一个开源代码漏洞,而 49%的代码库包含高风险漏洞
在并购交易中,开源采用率增加的趋势会引起两个主要问题:首先,企业必须了解他们将获得的软件中开源的内容和数量,以评估其新收购的知识产权的潜在风险;其次,他们必须在交易之前了解这样的风险情况,以把控他们的投资回报率,并对交易后所需要的补救成本进行规划。
不了解这些风险可能会付出高昂的代价。假设您正在收购Equifax,但没有执行开源工作。那会发生什么?众所周知,在2017年导致超过1.4亿人的个人数据泄露的安全事件,正是由Apache Struts框架中一个未修补的开源漏洞引起的。Equifax 至今已付出了14亿美元的高昂代价,而因该漏洞造成的影响远不止在金钱方面。
事实上,Equifax处理Apache Struts漏洞修复的速度远远快于平均水平。2014年,新思科技揭露了Heartbleed漏洞,而这个漏洞目前仍然是一个全球性的安全问题。
结合OSSRA报告和451 Research报告不难发现:开源采用率的增长不会在短期内放缓,因此涉及软件的并购风险越来越高。并购专业人士必须了解所购软件的全部风险状况。
好文章,需要你的鼓励
很多人担心被AI取代,陷入无意义感。按照杨元庆的思路,其实无论是模型的打造者,还是模型的使用者,都不该把AI放在人的对立面。
MIT研究团队提出递归语言模型(RLM),通过将长文本存储在外部编程环境中,让AI能够编写代码来探索和分解文本,并递归调用自身处理子任务。该方法成功处理了比传统模型大两个数量级的文本长度,在多项长文本任务上显著优于现有方法,同时保持了相当的成本效率,为AI处理超长文本提供了全新解决方案。
谷歌宣布对Gmail进行重大升级,全面集成Gemini AI功能,将其转变为"个人主动式收件箱助手"。新功能包括AI收件箱视图,可按优先级自动分组邮件;"帮我快速了解"功能提供邮件活动摘要;扩展"帮我写邮件"工具至所有用户;支持复杂问题查询如"我的航班何时降落"。部分功能免费提供,高级功能需付费订阅。谷歌强调用户数据安全,邮件内容不会用于训练公共AI模型。
华为研究团队推出SWE-Lego框架,通过混合数据集、改进监督学习和测试时扩展三大创新,让8B参数AI模型在代码自动修复任务上击败32B对手。该系统在SWE-bench Verified测试中达到42.2%成功率,加上扩展技术后提升至49.6%,证明了精巧方法设计胜过简单规模扩展的技术理念。