目前,大多数IT企业的软件开发都是在“混源”开发模式进行的,就是说软件代码中会引人大量的开源代码,有的是自主引入或是由第三方代码引入。开源代码如果使用不当,可能会给企业带来未知的巨大风险。  

开源代码扫描适用的场景主要包括以下:

(1)IT企业对外来代码进行合规性审查

(2)软件企业对外部引入的代码进行扫描,发现其中的风险并采取解决措施,避免将外部代码的风险引入到自己的软件当中。

(3)软件供应商(外包商)在交付软件之前,按照用户要求进行合规性审查。

(4)软件供应商按照最终用户的要求,对代码进行扫描,如果发现不满足最终用户要求的代码,及时进行修改,最终将满足用户要求的代码交付给用户,同时将代码扫描的结果报告一并提交给最终用户。

(5)IT企业内部软件代码的合规性审查。

(6)软件企业对其部分或者全部软件的代码进行合规性审查,在产品发布前发现软件的风险并予以解决。

对于开源代码扫描比较推荐静态源代码扫描的方式,这是近年被人提及较多的软件应用安全解决方案之一。是通过静态代码扫描工具找出代码当中存在的一些语义缺陷、安全漏洞的解决方案。推荐使用CodeAnalyzer代码审查软件,属于自主研发的专业代码质量管理,用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析的白盒测试工具,它是一种脱离编译器的代码静态分析软件产品。

静态扫描技术已经从90年代时候的,编码规则匹配这种由编译技术拓展过来的分析技术向程序模拟全路径执行的方向发展,由此,这种模拟执行相对的执行路径比动态执行更多,能够发现很多动态测试难以发现的缺陷。