擴充功能執行階段安全性
擴充功能大幅增強了 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 為您提供有關擴充功能的資訊,以協助您做出明智的決定
-
評分與評論:閱讀其他人對擴充功能的看法。
-
問與答:檢閱現有的問題以及發行者的回應程度。如果您有疑慮,也可以與擴充功能的發行者交流。
-
問題、存放庫和授權:檢查發行者是否提供這些項目,以及它們是否具有您期望的支援。
-
已驗證的發行者:使用發行者名稱和網域名稱旁邊的藍色勾號作為額外的信任訊號。勾號表示發行者已向市集證明網域名稱所有權。它也表示市集已驗證網域名的存在,以及發行者在市集上的良好信譽至少六個月。
如果您想要強制執行組織中允許使用的擴充功能,請查看如何在 VS Code 中設定允許的擴充功能。
市集保護
Visual Studio Code Marketplace 採用多種機制來保護您免受惡意擴充功能的侵害
-
惡意軟體掃描:市集會對發佈的每個擴充功能套件執行惡意軟體掃描,以確保其安全性。此掃描使用多個防毒引擎,針對每個新的擴充功能和每個擴充功能更新執行。在掃描完全清除之前,擴充功能不會在市集中發佈以供公開使用。
-
動態偵測:市集透過在沙箱環境 (無塵室 VM) 中執行擴充功能來執行動態偵測,以驗證擴充功能的執行階段行為。
-
已驗證的發行者:發行者可以透過證明網域所有權來驗證 (藍色勾號) 其身分。它表示發行者已向市集證明網域名稱所有權。它也表示市集已驗證網域的存在,以及發行者在市集上的良好信譽至少六個月。
-
異常使用情況監控:市集監控擴充功能的下載和使用模式,以偵測異常行為。
-
名稱搶佔:市集阻止擴充功能作者竊取官方發行者的名稱,例如 Microsoft 或 RedHat,以及熱門擴充功能,例如 GitHub Copilot。
-
封鎖清單:如果回報並驗證了惡意擴充功能,或在擴充功能相依性中發現漏洞,則該擴充功能會從市集中移除並新增至封鎖清單。如果已安裝擴充功能,VS Code 會自動解除安裝。
-
擴充功能簽章驗證:Visual Studio Marketplace 在發佈所有擴充功能時都會簽署。當您安裝擴充功能時,VS Code 會檢查此簽章,以驗證擴充功能套件的完整性和來源。
回報可疑的擴充功能
如果您確實看到看起來可疑的擴充功能,請向市集團隊回報該擴充功能。市集團隊會在一個工作天內提供初步回應。
若要回報擴充功能
-
在 Visual Studio Marketplace 中開啟擴充功能頁面。
-
選取擴充功能更多資訊區段底部的 回報問題 連結。
相關資源
-
了解如何在 Visual Studio Code 中安裝和管理擴充功能。
-
使用工作區信任來決定專案資料夾中的程式碼是否可以在未經明確核准的情況下由 VS Code 和擴充功能執行。這在處理不熟悉的程式碼時增加了一層額外的安全性。
-
設定 VS Code 中允許的擴充功能,以強制執行組織中允許使用的擴充功能。