做者:Liran Tal
翻譯:瘋狂的技術宅javascript
原文:https://snyk.io/blog/javascri...前端
未經容許嚴禁轉載vue
歡迎來到 Snyk 的 JavaScript 框架狀態安全報 告2019。java
在此報告中,咱們調查了 Angular 和 React 生態系統的安全狀態。在這份報告種咱們根本沒有將它們做爲競爭性框架進行比較。相反,咱們把它們做爲可行的構建 JavaScript 項目的前端生態系統的替代方案進行了審查,同時重點關注了每種方案的安全風險和最佳實踐,以及它們之間的差別。react
在這裏下載報告jquery
咱們強烈建議下載完整報告的電子版,但還提供瞭如下內容做爲博客文章:程序員
該報告涵蓋:web
- Angular 和 React 核心項目的安全實踐
- 在對每一個生態系統中漏洞的深刻研究的基礎上,得出的 Angular 和 React 模塊生態系統的安全狀態
- 其餘常見 JavaScript 前端框架替代方案(例如 Vue.js,Bootstrap 和 jQuery)的安全性實踐
- 不一樣替代方案之間,尤爲是 Angular 和 React 之間的重大安全性差別
JavaScript 框架安全性報告 2019 中的關鍵要點
如下是咱們報告的主要內容:面試
有關 CVE 和安全漏洞的信息
爲了調查本報告中所涉及的每一個生態系統的整體安全情況,咱們討論的因素包括在不一樣相關軟件包中肯定的安全漏洞。並根據已知漏洞的狀況(有時與已知漏洞進行比較)來審查和討論這些漏洞。
在 CVE 編號頒發機構(CNA)維護的常見漏洞和披露(CVE)列表中,爲已知漏洞分配了標識號,併爲 CVE 標註了 CVSS 分數,以此來講明對所列漏洞的嚴重程度。瞭解關於如何經過 CVSS 對漏洞的嚴重程度進行評分的信息。
-
Angular vs. React 安全態勢
- Angular 有可見且可實現的安全性準則、溝通方式和負責的披露政策,這是 React 項目中所沒有的。
- Angular 有更普遍的內置支持,可用於不一樣上下文中的數據清理和輸出編碼,例如 HTML 錨點(或連接)元素中的 URL 屬性等。
- React 沒有內置的數據清理控件,而是在大多數默認狀況下對輸出進行編碼,並將其留給開發人員來處理未處理的狀況,例如 ref 和 URL 屬性(後者在 React v16.9.0 中已解決)。
- Angular 在其 HTTP 服務中經過內置的安全機制提供了對跨站請求僞造(CSRF)漏洞的支持。而 React 開發人員須要獨立解決這些問題。
-
前端生態系統安全性
- 在過去的 12 個月中,jQuery 有超過 1.2 億次的下載,而且根據 W3Techs 的統計,在全部使用 jQuery 的網站中,有 84% 的網站使用 jQuery v1.x,有四個很是嚴重的 XSS 漏洞影響了它。實際上,若是你沒有使用jQuery v3.4.0 或更高版本(對於大多數 jQuery 用戶來講都是如此),則說明你用的是包含安全漏洞的版本。
- 在過去的 12 個月中,Bootstrap 已被下載 79,185,409 次,而其中共包含 7 個跨站點腳本(XSS)漏洞。其中三個已在 2019 年披露。值得注意的社區模塊,例如 bootstrap-markdown 在同一時間段內下載量超過300,000,儘管它沒有安全性修復或升級其 XSS 漏洞的路徑。 bootstrap-select 有超過 200 萬次下載,並具備着嚴重的 XSS 漏洞,Snyk 研究團隊藉助其專有的威脅情報系統發現了該漏洞。
- 在過去的 12 個月中,Vue.js 框架的下載次數已超過 4000 萬次,Vue.js 內核總共存在四個漏洞,不過已經被修復。
能夠繼續閱讀 Angular vs React: Security Bakeoff 2019 或者 下載完整報告.。
該報告回顧了每一個框架的總體安全性、由社區推進的模塊生態系統以及與之相關的安全風險;基於這些觀點,該報告經過重點介紹該領域所採用的最佳安全實踐來確保安全的代碼,最終爲 Angular 和 React 用戶提供了可行的安全建議。
本文首發微信公衆號:前端先鋒
歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章
歡迎繼續閱讀本專欄其它高贊文章: