擴充套件執行時安全性
擴充套件極大地增強了 Visual Studio Code 的功能。它們也可能帶來風險,例如惡意程式碼執行和資料隱私問題。Visual Studio Marketplace 提供了多種方法來保護您免受不良擴充套件的影響。此外,VS Code 還會為您提供一些擴充套件可靠性的指示。
本文概述了 VS Code 中擴充套件的執行時許可權以及為保護您免受惡意擴充套件侵害而採取的措施。您將學習如何在安裝擴充套件之前對擴充套件的可靠性做出明智的決定。
關於擴充套件執行時許可權
擴充套件主機負責在 VS Code 中執行擴充套件。擴充套件主機擁有與 VS Code 本身相同的許可權。這意味著 VS Code 可以執行的任何操作,擴充套件也可以透過擴充套件主機執行。
例如,擴充套件可以讀取和寫入您機器上的檔案、發出網路請求、執行外部程序以及修改工作區設定。
擴充套件釋出者信任
從 VS Code 1.97 版本開始,當您首次從第三方釋出者安裝擴充套件時,VS Code 會顯示一個對話方塊,提示您確認信任該擴充套件的釋出者。
當您信任擴充套件包的釋出者或依賴於其他擴充套件的擴充套件時,您也信任了依賴擴充套件的釋出者。
您之前安裝的擴充套件的釋出者被視為受信任,並會自動新增到受信任釋出者列表中。
您可以使用“擴充套件:管理受信任的擴充套件釋出者”命令來管理受信任擴充套件的列表。
當您使用VS Code 命令列安裝擴充套件時,擴充套件的釋出者不會自動受信任。
確定擴充套件可靠性
在安裝擴充套件之前,您可以採取各種步驟來確定它是否可靠。Visual Studio Marketplace 為您提供了有關擴充套件的資訊,以幫助您做出明智的決定
-
評分和評論:閱讀其他人對該擴充套件的看法。
-
問答:檢視現有問題以及釋出者的響應程度。如果您有疑慮,也可以與擴充套件的釋出者互動。
-
問題、儲存庫和許可證:檢查釋出者是否提供了這些內容以及它們是否具有您期望的支援。
-
已驗證釋出者:使用釋出者名稱和域名旁邊的藍色勾號作為額外的信任訊號。該勾號表示釋出者已向 Marketplace 證明其域名所有權。它還表明 Marketplace 已驗證域名是否存在以及釋出者在 Marketplace 上良好信譽至少六個月。
如果您想強制規定組織中允許使用的擴充套件,請檢視如何在 VS Code 中配置允許的擴充套件。
Marketplace 保護
Visual Studio Marketplace 採用多種機制來保護您免受惡意擴充套件的侵害
-
惡意軟體掃描:Marketplace 會對每個釋出的擴充套件包執行惡意軟體掃描,以確保其安全性。掃描使用多個防病毒引擎,對每個新擴充套件和每個擴充套件更新執行。在掃描完全清除之前,擴充套件不會在 Marketplace 中釋出供公眾使用。
-
動態檢測:Marketplace 透過在沙盒環境(乾淨房間虛擬機器)中執行擴充套件來驗證其執行時行為,從而進行動態檢測。
-
已驗證釋出者:釋出者可以透過證明域名所有權來驗證(藍色勾號)其身份。它表明釋出者已向 Marketplace 證明其域名所有權。它還表明 Marketplace 已驗證域名是否存在以及釋出者在 Marketplace 上良好信譽至少六個月。
-
異常使用監控:Marketplace 監控擴充套件的下載和使用模式,以檢測異常行為。
-
名稱搶佔:Marketplace 阻止擴充套件作者竊取官方釋出者(如 Microsoft 或 RedHat)和流行擴充套件(如 GitHub Copilot)的名稱。
-
阻止列表:如果報告並驗證了惡意擴充套件,或者在擴充套件依賴項中發現漏洞,則該擴充套件將從 Marketplace 中刪除並新增到阻止列表。如果已安裝該擴充套件,VS Code 將自動將其解除安裝。
-
擴充套件簽名驗證:Visual Studio Marketplace 在釋出所有擴充套件時都會對其進行簽名。當您安裝擴充套件時,VS Code 會檢查此簽名,以驗證擴充套件包的完整性和來源。
-
秘密掃描:Marketplace 會自動掃描每個新發布的擴充套件是否存在 API 金鑰或憑據(例如,Azure DevOps PAT 令牌)等秘密。如果檢測到任何秘密,則會阻止釋出以防止潛在的安全風險。VSCE 工具在打包期間掃描
.env
檔案,如果發現秘密則阻止釋出。
在Visual Studio Marketplace 部落格文章中的安全和信任中瞭解這些措施。
報告可疑擴充套件
如果您確實看到可疑的擴充套件,請向 Marketplace 團隊報告。Marketplace 團隊會在一個工作日內提供初步答覆。
報告擴充套件
-
在Visual Studio Marketplace中開啟擴充套件頁面。
-
選擇擴充套件“更多資訊”部分底部的“報告問題”連結。
相關資源
-
瞭解如何在Visual Studio Code中安裝和管理擴充套件。
-
使用工作區信任來決定專案資料夾中的程式碼是否可以在未經明確批准的情況下由 VS Code 和擴充套件執行。這在處理不熟悉的程式碼時增加了額外的安全層。
-
配置VS Code 中允許的擴充套件以強制規定組織中允許使用的擴充套件。