武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

Synopsys:75% 的代码库包含漏洞,每个代码库平均有 82 个漏洞

  • 2020-05-18
  • 本文字数:1374 字

    阅读完需:约 5 分钟

Synopsys:75%的代码库包含漏洞,每个代码库平均有82个漏洞


近日,Synopsys 公司发布2020年开源安全和风险分析(OSSRA)报告。该报告重点介绍了商业应用程序中开源使用的趋势和模式,并提供见解和建议,来帮助组织从安全性、许可证合规性和运营角度更好地管理开源风险。


据悉,报告是由 Black Duck Audits(黑鸭审计)服务团队进行的 1250 多次商业代码库审计的结果,审计涉及 17 个行业,包括物联网、网络 &软件基础设施、金融服务 &金融科技、企业软件/SaaS、零售 &电商、网络安全等。

99%的代码库中包含开源组件,开源在全部审计的代码库中占 70%。

据悉,黑鸭审计研究发现:在 2019 年审计的代码库中,有 99%审计的代码库包含开源组件。并且,在审计的 17 个行业中,有 9 个行业 100%的代码库包含开源。它们还发现,在全部审计的代码库中,开源占到 70%。


只有 1.2%的代码库中不包含开源组件


同时,报告还发现,2019 年每个代码库中平均有 445 个开源组件,与 2018 年的 298 个相比,开源组件使用率大幅增加。2016 年,Synopsys 公司发布第一份开源安全和风险分析(OSSRA)报告。当时,开源在全部审计的代码库中仅占 36%,现在,这个数字从 2018 年的 60%上升到 2019 年的 70%。


此外,它们还发现,有 124 个开源组件被普遍应用于所有 17 个行业中的代码库中。


其中,排名前五的开源组件为:


1.jQuery:一个快速、简洁的 JavaScript 框架


2.Bootstrap:出自 Twitter,它是基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,让 Web 开发更加快捷。


3.Font Awesome:它是为 Twitter Bootstrap 设计的图标字体。


4.Lodash:它是一个一致性、模块化、高性能的 JavaScript 实用工具库


5.jQuery UI:它是一套 jQuery 的页面 UI 插件


此外,前十的开源组件(代码库包含组件的百分比)如下图:



在审计的代码库中,JavaScript 是使用最多的编程语言,占比为 74%。而 C++、Shell scripts 和 C 则占代码库的 50%或更高。总之,JavaScript 是开源组件中占主导性的编程语言,C++紧随其后,排名第二。


前十的编程语言排名(代码库使用该语言的百分比)


75%的代码库包含漏洞,有 49%的代码库包含高风险漏洞

根据这份报告,黑鸭审计指出:在 2019 年审计的代码库中,有 82%的开源组件是过时的。同样,它们还发现:高达 75%的代码库至少包括一个公开漏洞,2018 年才只有 60%。并且,每个代码库平均有 82 个漏洞。


在 3 月份,安全公司 WhiteSource发布了一份“开源安全年度报告”。报告表明, 2019 年,公开披露的开源安全漏洞数量再创新高,总数为 6100 个。与 2018 年相比,开源安全漏洞的数量增长近 50%。



而据奇安信代码安全事业部介绍,开源软件的代码安全缺陷密度是 14.22/KLOC,高危安全缺陷密度为 0.72/KLOC。换句话说,每 1000 行开源软件代码中就有 14 个安全缺陷,每 1400 行开源软件代码中就有 1 个高危安全缺陷。


Synopsys 公司的报告还表明,在审计的全部代码库中,有 49%的代码库包含高风险漏洞。事实上,开源软件的高风险漏洞危害极大,比如美国征信巨头 Equifax2017 年发生数据泄露,原因就是黑客利用 Struts 开源软件的漏洞实施攻击,窃取 1.45 亿用户的数据。


此外,报告还发现:


68%的代码库包含某种形式的开放源代码许可证冲突,而 33%的代码库包含没有可识别的开源组件。许可证冲突的发生率因行业有所不同,互联网和移动 App 行业最高(93%),VR、游戏、娱乐和媒体等行业相对较低(59%)。


2020-05-18 17:535275
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 332.9 次阅读, 收获喜欢 1794 次。

关注

评论

发布
暂无评论
发现更多内容

34岁Android开发大叔感慨,已拿offer附真题解析

欢喜学安卓

android 程序员 面试 移动开发

做项目管理,如何对复杂的项目工作进行分解

万事ONES

需求管理 ONES 项目管理工具

ZGC 新特性

meacial

Java ZGC JVM 软件开发

chia奇亚算力挖矿分发APP系统开发

薇電13242772558

区块链

JAVA面向对象(八)--封装

加百利

Java 后端 6月日更

并发王者课-铂金3:一劳永逸-如何理解锁的多次可重入问题

MetaThoughts

Java 多线程 并发

EasyRecovery,拯救那些遗失的文件

淋雨

文件恢复 Easyrecovery破解 数据恢复软件 免费数据恢复

云算力挖矿系统APP模式开发方案

掌握鸿蒙轻内核静态内存的使用,从源码分析开始

华为云开发者联盟

鸿蒙 操作系统 内存 静态内存 鸿蒙轻内核

react源码解析16.concurrent模式

全栈潇晨

react.js

曝光一个网站,我周末就耗在上面了。

why技术

Java Arthas

共享存储设备,如何实现差异化IO分配策略

怀瑾握瑜

云计算 负载均衡 存储 数据中心 SSD

云图说|初识云数据库GaussDB(for Cassandra)

华为云开发者联盟

开源 Cassandra 云数据库 GaussDB(for Cassandra) 宽列数据库

618大促又来了?3天2次大事故,不堪回首的加班经历……

TakinTalks稳定性社区

压力测试 全链路压测 大促 系统高可用 生产环境全链路压测

索信达控股:解析索信达模型管理利器

索信达控股

大数据 模型 风险管理 智能 数据管理平台

百度一款前端图片合成工具库MI开源啦!

百度开发者中心

百度 开源 图片

MySQL 页完全指南——浅入深出页的原理

leonsh

MySQL 数据库 innodb

浪潮云说 | 开源新势力—云溪数据库ZNBase

浪潮云

云计算

34岁安卓开发大叔感慨,帮你突破瓶颈

欢喜学安卓

android 程序员 面试 移动开发

从工单到需求管理,企业如何快速响应客户反馈?

万事ONES

项目管理 需求管理 需求 ONES

项目管理100问 | 为什么你的项目进度总是在延期?

万事ONES

项目管理 项目排期 ONES 项目开发

并发王者课-铂金4:令行禁止-为何说信号量是线程间的同步利器

MetaThoughts

Java 多线程 并发

[译] R8 优化: 字符串操作

Antway

6月日更

Python——双向队列 (deque)

在即

6月日更

推荐 3 款超好用的 Docker 图形化管理工具

学神来啦

Docker Linux 程序员 分布式 运维

智能边缘时代 英特尔携手极视角赋能开发者 助推AIoT发展

E科讯

详解Apache Dubbo的SPI实现机制

vivo互联网技术

dubbo 服务器 spi

8种图数据库对 NULL 属性值支持情况

华为云开发者联盟

图数据库 null 逻辑 语义网 图模型

HarmonyOS学习路之开发篇——Data Ability

爱吃土豆丝的打工人

HarmonyOS Ability 鸿蒙 Ability Data Ability

Go语言实现的23种设计模式之结构型模式

华为云开发者联盟

设计模式 组合模式 Go 语言 结构型模式 适配器模式

一篇文章告诉你 GIS 存储如何选?

焱融科技

技术 容器 分布式 云原生 高性能

Synopsys:75%的代码库包含漏洞,每个代码库平均有82个漏洞_安全_万佳_InfoQ精选文章