2019年開源安全現狀調查報告發布
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個漏洞
完整報告下載地址: