现代企业中开源的使用比例已经超过了90%。这90%中的大部分都是完整的开源组件或代码,能轻松的被SCA工具检测出来。但还有小部分是开源代码片段,传统的依赖分析(Dependency check)并不适用于代码片段层级的检测。
虽然企业中开源代码覆盖率已经达到了97%。但也还有3%的专有代码。这部分代码可能是由开发者自行研发编写,有可能是由第三方提供的商业组件。这些代码与开源基本没有关联,但正因如此,对这些代码进行检测的难度也比开源代码大了不少。
最后,企业不仅仅在开发阶段需要SCA工具对源代码进行检测,也需要对已编译的应用库和可执行文件进行检测,这就需要二进制SCA检测了。
基于以上三点,传统的依赖分析已无法适应现代企业的SCA检测需求。因此,我们还需要源代码SCA与二进制SCA。