现在是一个开源的时代,代码编写已经不再是自己苦苦完全编写,完全可以参考引用已知的开源代码,这样不仅可以加快研发进度,抢占市场,而且开源的代码质量相对比初级开发工程师编写的要更高,可以保证代码质量。虽然使用开源代码好处多多,但是,也不可避免的引入新的问题。

首先,许可证合规性问题。一般的软件,许可证都会是商用许可证,也就是代码闭源,不会公开源代码,但是,很多开源的代码是采用别的许可证。据不完全统计,开源代码许可证高达2400多种,这些许可证中,有的对使用者要求严格,比如非常著名的GPL以及LGPL等,这些许可证要求,如果引用了开源代码,那么你的代码也必须使用GPL许可证,也就是公开源代码,这对企业来说,简直是个灾难;有的许可证对使用者比较宽松,比如apache许可证,使用者可以不用公开源代码。

 

代码审查

 

其次,开源代码中含有漏洞信息,这些漏洞信息是公开的,这些漏洞信息很可能会成为黑客攻击的首选,毕竟针对已知漏洞进行攻击可比自己苦苦寻找漏洞省时省力多了。

所以,由于以上的原因,针对开源代码扫描是势在必行。当然了,国内对于许可证的要求不是很高,现在只有一些大公司,比如华为、中兴、BAT等进行开源代码扫描。但是随着国家对于自主知识产品的重视,这块的硬性需求会越来越多。

综上所述,开源代码扫描主要就是针对代码中应用的开源代码中的license(许可证)、漏洞信息进行分析。推荐使用CodeAnalyzer代码审查软件,实现代码走查、代码规范检查以及代码潜在错误分析。