Snyk 今天发布了2019年开源安全现状调查报告,这是一家针对开源项目提供安全服务的知名公司。

前言

为了更好地了解开源领域的安全现状,以及我们该如何让开源世界的安全性变得更好,Snyk 公司通过对大量的数据进行统计和分析,得到了2019年开源安全现状调查报告,其中数据来源包括:

  • 由 Snyk 发起和分析的来自500多名开源项目维护者和用户填写的调查问卷
  • 来自 Snyk 漏洞数据库的内部数据,以及由 Snyk 监控和保护的数十万个项目
  • 从各个供应商发布的外部资源中获取到的研究报告
  • 通过扫描数百万个公开 GitHub 仓库和包而收集到的数据

开源安全现状

先看一看报告提供的关键数据,总共包括六个方面。

1.开源项目被采用情况

数据显示,78% 的漏洞存在于间接依赖关系中。而在2017到2018年期间,工具包平台的增长情况如下:

  • Maven Central – 102%
  • PyPI – 40%
  • npm – 37%
  • NuGet – 26%
  • RubyGems – 5.6%
  • npm 报告2018年的下载量为3040亿次


各大工具包平台的增长情况

明显可以看到,开源项目的采用率正在持续加速增长。仅是2018年,Java 工具包翻了一番,而 npm 增加了大约 250000 个新的工具包。

PyPI 在2018年拥有超过140亿的下载量,较2017年增加了一倍,当时的下载次数约为63亿次。


PyPI 工具包在2018年的下载次数


npm 工具包在2018年的下载次数

npm 称得上是整个 JavaScript 生态系统的核心。多年来,其软件包数量和下载数量一直在稳步增长,仅2018年12月的单月下载量就超过了300亿次,而2018年全年的下载次数更是达到令人难以置信的3170亿次。

2.漏洞识别状况

  • 37% 的开源开发者在持续集成(CI)期间没有实施任何类型的安全测试,54% 的开发者没有对 Docker 镜像进行任何安全测试
  • 从漏洞添加至开源软件包到修复漏洞的时间中位数超过2年


持续集成期间的安全测试情况

3.已知的漏洞

  • 两年内应用程序的漏洞数量增长了 88%
  • 在2018年,npm 的漏洞数量增长了 47%
  • 根据 Maven Central 和 PHP Packagist 披露的数据,它们的漏洞数量分别增长了 27% 和 56%
  • 2018年与2017年相比,Snyk 在 RHEL, Debian 和 Ubuntu 中追踪发现的漏洞数量增加了4倍多


每种语言其生态系统的新漏洞增长情况

今天,Snyk 目睹了其跟踪的许多生态系统中报告的漏洞数量的增加,包括 PHP Packagist, Maven Central Repository, Golang, npm, NuGet, RubyGems 和 PyPI。其中在研究五种不同的语言生态系统时:PHP, Java, JavaScript, Python 和 Go 时,Snyk 发现自2014年以来,所有这些生态系统中披露的漏洞数量呈上升趋势。尤其是 npm 和 Maven 中央仓库,毕竟这两者也是工具包数量增长最多的平台。

4.谁该对开源软件的安全性负责?

  • 81% 的用户认为开发者负责开源软件的安全性
  • 68% 的用户认为开发者应该对他们提供的 Docker 容器镜像负安全责任
  • 只有 30% 的开源软件维护者认为自己具有高安全性意识


谁该对开源软件的安全性负责


开发者对自身安全意识的认知情况

5.Docker 镜像中的已知漏洞

  • 十大最受欢迎的默认 Docker 镜像中的每一个都包含至少30个易受攻击的系统库
  • 经过扫描的 44% Docker 镜像可以通过更新其基本镜像标记(image tag)来修复已知漏洞


十大流行 Docker 镜像的漏洞数量状况


Linux 系统的漏洞数量在持续增长


系统库中的紧急漏洞和高危漏洞数量对比

6.Snyk 的统计数据

  • 仅在2018年下半年,Snyk 为其用户打开了超过 70000 个 PR,以修复其项目中的漏洞
  • CVE/NVD 和公共漏洞数据库缺失了许多漏洞,仅占 Snyk 跟踪到的漏洞数据的 60%
  • 仅在2018年,Snyk 旗下的专业研究团队就披露了500个漏洞

完整报告下载地址 https://bit.ly/SoOSS2019

原文地址:https://www.oschina.net/news/104778/opensource-security-2019

开源软件没你想象中那么安全,Java 开发者尤其要警惕相关推荐

  1. 阿里P8高级架构师:面试没你想象中的难,拿Offer也可以很轻松

    阿里P8高级架构师:面试没你想象中的难,拿Offer也可以很轻松 一.概述 面试,难还是不难?取决于面试者的底蕴(技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想 ...

  2. 写了开源软件没申专利,反被索赔该怎么办?

    文 | 一君 出品 | OSC开源社区(ID:oschina2013) 前段时间,开源中国接到开源项目作者求助. 王同学在 2018 年 3 月(初中)开始开发基于 Blockly 的树莓派可视化编程 ...

  3. 开源软件关于我国软件业的“反腐”问题-java教程

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--开源软件 4月23日上午9时许,我访拜了内国一所有名大学的数学研讨门部(他们要求保密),听到一个鲜新名词:"数学反腐" ...

  4. 如何优雅的修改 Kubernetes Master 节点 IP?可没你想象中那么简单!

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 昨天网络环境出了点问题,本地的虚拟机搭建的 Kubernetes 环境没有固定 IP,结果节点 IP 变了,当然最 ...

  5. 开源软件5大常见问题及解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 导读 开源代码的使用热度持续上升,各类公司都习惯于使用开源代码来构建自己的系统和平台.开源代码带来的便利是大家有目共睹的,但巨 ...

  6. Java开源软件总汇

    Spring Framework [Java开源 J2EE框架] Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而 ...

  7. 开源软件使用的风险和应对方法

    目录 一.开源软件的漏洞 1.1 发现漏洞并评估影响范围 1.1.1 开源软件清单和SBOM 1.1.2 如何得到软件产品完整的SBOM 1.1.3 通过SBOM识别漏洞影响范围 1.1.4 漏洞感知 ...

  8. COSCon'22 开源商业论坛 | 圆桌复盘:开源软件如何推进全球商业化?

    COSCon'22 开源社/KAIYUANSHE    近日,业界最具影响力的开源年度盛会--2022第七届中国开源年会 (COSCon'22) 圆满结束.作为从Day 1 开始的开源支持者,云启深度 ...

  9. 胡才勇:开源软件受到商业软件专利侵权压力

    胡才勇:开源软件受到商业软件专利侵权压力 腾讯科技讯 6月13日下午,由工业和信息化部.国家发展和改革委员会.科学技术部.北京市人民政府主办,中国软件行业协会共创软件分会.太阳计算机系统(中国)有限公 ...

最新文章

  1. zabbix 系统搭建(LAMP环境)+keepalived LVS配置
  2. 构造函数中,成员变量一定要通过初始化列表来初始化的几种情况(转载)
  3. The next Industry Standard in IT Monitoring, a python implementation Nagios like tool --- Shinken
  4. **上海铁路局2004年最新时刻发布!**
  5. DCMTK:生成内置的数据字典
  6. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)
  7. 简单的登录系统(java+JFrame+Mysql)
  8. linux解释名词shell环境,Linux 定时任务
  9. Python:PyCharm选择性忽略PEP8警告
  10. mysql 所有外键_mysql中的外键
  11. kmo检验和bartlett球形检验_互助问答59期:多期DID平行趋势检验以及因子分析累计方差贡献率...
  12. android 黑名单中电话拦截
  13. PCM音频压缩A-Law算法,uLaw
  14. 利用Java计算圆柱体积
  15. 手把手制作前端图标字体
  16. Jupyter关联规则挖掘-莫名其妙的问题
  17. Unity5.4 WWW频繁加载崩溃问题 Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1)
  18. 云有约 | 首攻RSA,天空卫士“秀肌肉”怎么样了?
  19. win10网络适配器不见了_win10没有网络适配器怎么办
  20. (进制转换)—— 十六进制转换

热门文章

  1. python wget 卡住_python – Paramiko在执行大型wget命令时挂起
  2. android 多媒体文件信息,Android如何获取多媒体文件信息
  3. python上传文件进度_python实现进度条--主要用在上传下载文件
  4. 传统云纹祥云素材,稳妥传承中国味!
  5. 呼叫 :邓伦粉丝!手机桌面壁纸来喽
  6. 圣诞海报模板|给设计师点灵感
  7. 如果你需要万圣节的图片素材来点缀你的节日活动,看这里就对了
  8. PSD分层立体数据模板立体数据统计素材
  9. 电商页面设计排版没有思路?可临摹PSD分层模板,诠释基础版式大招帮你轻松搞定!
  10. Loading动画加载素材模板,UI设计师好帮手