作者:新思科技高级技术撰稿人Derek Handova
在软件公司并购中,对目标公司的SDLC进行技术尽职调查是必需的。如果你对其流程和工具并不清楚的话,可能会给你带来损害。因此,无论您是收购还是被收购,都需要一位审计合作伙伴提供快速、可信和全面的软件审计,以减轻这些风险。
在收购或者兼并一家公司之前,有许多因素你需要考虑,涵盖目标公司的财务状况、员工、法律状况、客户群以及技术等。其中,技术,不仅涉及公司建立的技术,还包括他们如何构建技术。作为技术尽职调查的一部分,你应该评估目标公司的软件开发生命周期(SDLC)流程和工具。接下来让我们看看如何评估。
谁将要购买技术公司?
对于并购活动涉及的技术公司,有两种基本类型的购买方:
企业或者战略性买家,寻求将目标公司的软件技术“锁定”到他们现有的技术堆栈。
私募股权买家,购买科技公司并寻求对其进行经营(管理),将其作为独立运营的全资子公司或者投资组合公司。随着时间的推移,他们准备好将公司卖给战略性买家。
两种类型的买家会影响你使用技术尽职调查来评估流程和工具的方法。
并购的观点
在技术收购中,一个战略性买家对流程和工具的技术尽职调查通常会有一两个观点(不相互排斥):
如果你计划购买整个公司并且保持原有的运营,你应该评估目标公司如何进行软件开发以及使用哪些工具。
如果你计划将收购整合到现有的公司,你必须熟悉目标公司的流程,这将会直接影响整合以及潜在的风险。
在缺乏流程的地方,你必须深入挖掘。例如,根据451研究报告,如果目标公司没有管理开源组件的流程,那么分析开源许可以及安全问题的代码就尤为重要。开源许可以及安全评估通常是由软件组件分析(SCA)解决方案进行的。
私募股权收购方,通常保持目标公司原有的运营,需要确保目标公司的开发流程/工具和支持基础设施符合行业标准。他们也希望确保软件是安全的并且IP是受保护的,因为他们承担了风险。一些缺乏技术尽职调查专业知识的公司会聘请顾问。
在没有流程的地方分析开源风险
一些开发人员倾向认为开源组件是免费的,没有任何相关成本。那么拥有许可证有什么大不了的?事实上即使是免费的,开源软件也要求你拥有许可证。如果你的代码库因并购或者其它原因在技术尽职调查期间被审计,你需要能够证明你拥有代码库中开源组件的所有权利,否则可能会产生法律后果。这个问题可能比你想象中的更加复杂。
例如,2018年审计的超过1,200个商业代码库中有85%包含有许可证问题的组件。除此之外,38%包含卖方无权使用的未经许可的组件。违反许可证可能会产生严重的后果,包括:
诉讼
对企业声誉的影响(因许可证问题而被起诉等)
知识产权损失(如果许可证合规性要求分发源代码)
在流程和工具中的并购风险
并购包含对于潜在的目标公司的若干风险评估行动。SCA越来越多地成为技术尽职调查不可或缺的一部分。一些大公司每年都会进行多次收购,因此他们拥有评估这些风险的经验。他们可以自己进行SCA和尽职调查,也可以和信赖的合作伙伴或顾问密切合作来进行。
开源安全是每个人的责任
使用开源组件已经成为主流。从大型企业到两人初创企业都在使用开源组件。因此,开发人员变得更快也更加有效率。但这并不能减轻他们在这些开源组件中发现和修复安全漏洞的责任。这甚至适用于“永久的”开源组件。研究人员继续发现开源组件中的漏洞,不管它们多么成熟。
因此,开发人员需要始终关注来自所有开源和第三方来源的警报和补丁。你不希望成为下一个Equifax/Apache Struts,因数据泄露从而面临着潜在的1.4亿人的集体诉讼。如果Equifax的开发人员使用了最新的Jackson解析器,他们可以很快地识别出Apache Struts漏洞。
所以如果你正在考虑收购一家软件技术公司,请确保进行技术尽职调查以确定目标公司是否将安全构建到其SDLC中。建立持续的测试流程以补充持续集成/持续开发过程才有意义。通过恰当的流程和工具集(包括软件组建分析),开发团队可以更快地修复历史和最近发布的漏洞,使他们能够更快地发布更安全、更高质量的软件。