近日,網上流傳的一張關於“SonarQube 和 Vue.js 涉及國家安全漏洞“的截圖引發業內關注。1 月 25 日, Vue.js 創始人尤雨溪迅速在個人平臺賬號上對此事做了回應。
尤雨溪表示,Vue 向來非常看重安全問題,近期也並未收到漏洞報告。
在回應中,尤雨溪指出“前端框架無法被黑客用於滲透”:“截圖中的文字措辭可能會讓一些不懂技術的朋友以為 ‘Vue 被黑客用於滲透’ —— 這是錯誤的理解。黑客滲透可能會利用被攻擊者所使用的前端框架中的漏洞,但黑客不會用前端框架作為其滲透的工具,因為前端框架根本沒有這個功能。”
在對網上公開資訊進行排查後,他發現“文中的漏洞是純粹的後端 API 鑑權漏洞,跟前端和 Vue 沒有任何關係。除此之外,並沒有找到任何關於 Vue 的漏洞披露。公開的 CVE 資料庫中目前也沒有任何針對 Vue.js 本身的漏洞。”
作為開源專案,Vue 是以 JavaScript 原始碼形式釋出的前端專案,每一行程式碼都公開接受任何安全審計。Vue 2 釋出至今已經 5 年多,在全球業界被廣泛使用,期間從未有被發現過真正意義上的安全漏洞。
同時,尤雨溪還對 XSS 攻擊手段進行了解釋,“前端作為在使用者瀏覽器裡執行的程式碼,漏洞型別通常都是 XSS (Cross-Site Scripting),XSS 中文叫跨站指令碼攻擊,指的是通過上傳惡意資訊,讓資訊中包含的指令碼被意外地渲染,從而能夠在其他使用者登陸時執行,竊取其他使用者的資料。XSS 可以以多種形式出現,在純粹服務端渲染的頁面上也可能發生,不一定涉及前端框架。”
據瞭解,此前 Vue 團隊私下也接到過一些所謂的 “漏洞” 報告,但這些報告幾乎全部是在假設了將使用者上傳的任意 HTML 內容當作 Vue 模版或是 v-html 資料使用的前提下 —— 這種場景跟直接渲染使用者上傳的任意 HTML 沒有本質區別,不管用的是不是 Vue 都會導致 XSS,而 Vue 文件裡的安全章節也對這種做法有特別警告。
尤雨溪解釋稱:前端框架的職責是根據開發者提供的模版和資料渲染介面,如果開發者強行要求框架渲染不可信的模版然後指責框架不安全,這就如同用 innerHTML 渲染不可信的內容,然後指責瀏覽器有安全漏洞一樣。
最後,他強調:只要遵循普適的前端安全常識,Vue 本身並不存在任何安全性問題。也因此,我們對於為什麼 Vue 會被列入排查感到很困惑 —— 如果有哪位朋友知道詳情或是漏洞細節,請發郵件到 security@vuejs.org 通知我們。如果你被同事或是上司問起,也請分享這篇文章以正視聽。
據悉,目前網傳的這兩張截圖來源不明,現已經在業內被廣泛傳播。其內容是“有關部門通報境外黑客正在組織利用 SonarQube 和 Vue.js 對上述單位實施網路攻擊探測。因此有關部門要求境內機關、重要企事業單位對開源專案 SonarQube 和 Vue.js 的使用情況進行組織排查,重點是政府服務平臺。”