编程语言之争,一直以来是开发者社区的热议问题,因为开发者喜欢证明自己所使用的编程语言占据主导地位,尤其是安全性,只不过讨论的过程往往都伴随着双方的愤怒,最后不了了之。那么,你可知在众多热门编程语言中,哪个安全性更高?
为此,开源安全公司 WhiteSource 针对七种热门编程语言的安全性做了一份报告,汇总了多个来源的开源漏洞信息,其中包括国家漏洞数据库(NVD)、安全公告、GitHub问题追踪器(Issue Tracker)和流行开源项目问题追踪器。
WhiteSource 根据开源社区过去几年间使用的流行语言,确认出C,Java,JavaScript,Python,Ruby,PHP 和 C ++这七种比较热门的编程语言,并在这些语言的基础上,搜索数据库查看了过去十年中每种语言中已知开源安全漏洞的数量、随时间推移这些安全漏洞发生的变化、以及各语言最常见的 CWE(通用缺陷列表)。
正如上图所示,很明显居首位的是C语言,占到了近一半的比例。不过,这并不能说明C语言的安全性远低于其他热门语言,如此高的占比主要有以下几个原因可以解释:一是,C语言的使用时间在调查语言中是最长的;二是,C语言一般编写的代码量很大;三是,Open SSL和Linux内核等基础架构背后的主要语言之一就是C语言。这些存在时间、体积和中心性等因素的组合