返回部落格

瀏覽器擴充功能權限清單:能讀到什麼、該防什麼

瀏覽器擴充功能能讀取頁面內容、Cookie、代理設定,甚至登入憑證。本文整理四類權限、幾種高風險組合,以及團隊中如何審查與管控擴充功能。

在已經登入業務帳號的瀏覽器裡安裝第三方擴充功能,基本上很少有人會猶豫。但它拿到的權限,通常比安裝者以為的更多。

浏览器插件权限清单:能读到什么、该防什么的关键步骤与判断维度示意图

擴充功能實際能碰到什麼

擴充功能的權限模型通常是一次授權、長期有效。安裝時按一下允許,之後它讀了什麼、改了什麼,一般不會再跳出提示。依影響程度來看,主要可分成四類。

先說頁面內容。宣告了對應權限的擴充功能,可以讀取和修改你開啟的任意頁面上的文字、表單和按鈕。放在廣告後台裡,這代表它看得到投放資料、帳戶餘額和收件匣,也能替你按下提交。

Cookie 與本機儲存。這是最容易被低估的一類。Cookie 裡存的是登入狀態,拿到它就等於拿到工作階段;LocalStorage 裡則可能留著 token、草稿和介面設定。擴充功能只要能讀取網站資料,就已經跨過了只看頁面這條線。

代理設定。能修改代理的擴充功能,可以把你的所有流量導向它指定的伺服器。這類權限被濫用時不一定會跳出視窗,表現可能只是你造訪的頁面已經被悄悄替換。

登入憑證與輸入資料。自動填寫、密碼管理這類擴充功能,能讀到你在任何網站裡輸入的帳號密碼。還有一類會申請讀取瀏覽記錄和分頁,因此它知道你同時開著哪些頁面,而不只是目前這一頁。

真正危險的是組合

一個只讀取目前頁面,而且只在自己的網站生效的擴充功能,風險有限。真正需要擔心的是幾種權限同時出現:能讀頁面內容、能讀 Cookie,還能自己發送網路請求。這三項湊齊後,頁面上的資料就能被原樣打包送出去,而你看到的介面可能完全沒有變化。

再疊加代理設定,流量往哪裡走也可能不再由你決定。如果這個擴充功能還支援遠端更新——更新不是由你觸發,內容你也不一定看得到——那麼今天審查通過的版本,和三個月後跑在你瀏覽器裡的版本,可能已經不是同一個東西。

安裝前值得核對的幾項

與其等出事再移除,不如在安裝前花幾分鐘檢查。

來源是否清楚。來自官方商店、維護方明確的擴充功能,至少出問題時找得到人;來路不明的 ZIP 壓縮檔,以及從第三方彙整網站下載的版本,都繞過了商店那層審查。

權限範圍與功能是否相符。一個只用來匯出試算表的擴充功能,不需要讀取所有網站的 Cookie,也不需要修改代理。凡是權限明顯大於功能需求的,先不要安裝。

開發者與更新記錄。看看更新日誌寫的是空泛套話還是具體改了什麼,最近一次更新距今多久,使用者提出的問題有沒有人回覆。長期不維護的擴充功能,遇到瀏覽器核心升級後發生故障,通常也沒有人修。

是否申請了遠端程式碼或遠端設定。這決定了它的行為能不能在你不知情的情況下被改變。

團隊裡更該做的是收口

個人安裝可以靠自覺,團隊不行。人一多,擴充功能來源就散了,出了問題也很難說清楚是誰安裝了什麼。

比較實際的做法是分環境:把需要安裝擴充功能的環境和核心業務帳號的環境分開,收款、主要後台這類帳號盡量在乾淨、不帶擴充功能的瀏覽器裡操作。接著定期盤點,把沒人用的、來源不明的擴充功能清掉。再加上一條規則,新安裝擴充功能必須說明用途,基本就能把大部分意外擋在外面。

多個帳號、多位成員共用裝置時,可以用 PurpleMark 為不同用途建立彼此獨立的瀏覽器環境,把實驗性質的擴充功能環境與核心帳號環境隔開,這是讓整件事保持可控的常見做法。

對擴充功能的態度不必走到另一個極端。它確實能省時間,前提是你知道它要哪些權限,並且讓它待在合適的環境裡。