Visual Studio 代碼 v1.57 推出 2021 年 XNUMX 月,具有新的“工作區信任”功能。 這是一種安全機制,可幫助您在無法信任存儲庫來源時避免意外執行代碼。
工作空間信任 默認情況下處於活動狀態。 當您打開一個新文件夾時,Code 將顯示一個對話框,要求您信任其中的文件。 如果您選擇是,編輯器將正常運行。 如果您按 no,Code 將進入功能減少的新“受限模式”。
什麼在受限模式下被禁用?
受限模式旨在防止運行不受信任的代碼。 將禁用執行文件的 Visual Studio 功能,以幫助保護您免受尚未完全審查的威脅。
調試功能已關閉,可防止您意外啟動下載的可執行文件。 Visual Studio 還將禁用工作區文件中定義的任務。 中的任務 .vscode
文件可以運行二進製文件和腳本,因此包含它們的存儲庫存在安全風險。
任何可以運行代碼的用戶擴展都將被禁用或置於受限功能狀態。 某些工作區設置也可能會被覆蓋,以限制下載的範圍 .vscode
文件。
廣告
使用受限模式可以檢查新下載項目的關鍵部分。 您有機會驗證沒有可疑行為,而無需冒實際代碼執行的風險。 退出受限模式後,將應用您的常規設置並重新激活調試。
啟用工作區信任後,每次在不受信任的位置打開新文件夾時,您都會看到提示。 您需要選擇是啟用所有功能還是在受限模式下打開工作區。
何必?
Visual Studio Code 已經發展成為一個強大的代碼編輯器,支持數以千計的擴展。 許多這些第三方工具會自動運行並將它們自己添加到您的工作區設置文件中。 此文件通常用於源代碼控制,因此可以與團隊成員共享。
可以想像,狡猾的壞人可能會創建一個看起來真實但在加載到編輯器中時運行惡意代碼的存儲庫。 Workspace Trust 是對這種可能性的回應。 當您檢查從第三方收到的開源軟件和其他代碼時,它可以為您提供更高的安全性。
禁用工作區信任
Workspace Trust 可幫助您避免潛在危險的意外代碼執行。 使用該功能可為您提供一個額外的防禦層,以抵禦不熟悉的存儲庫。 儘管如此,如果您經常使用來自新來源的代碼,您可能會發現這些提示很煩人。
您可以通過設置完全禁用工作區信任 security.workspace.trust.enabled
設置 false
. 您可以通過單擊文件 > 首選項 > 設置並蒐索“工作區信任”在 UI 中找到它。 該複選框將顯示為“安全 > 工作區 > 信任:已啟用”。 如果您只想在沒有 Workspace Trust 的情況下一次性啟動,請添加 --disable-workspace-trust
命令行標誌。
自定義工作區信任
Workspace Trust 提供了一些設置,讓您可以微調其行為。 使用上述過程在 UI 中查看工作區信任設置。
廣告
“空窗口”控制當您使用沒有打開文件夾的窗口時會發生什麼。 當複選框被填充時,該窗口將被默認視為受信任。 否則,您需要像普通文件夾一樣手動信任它。
“不受信任的文件”設置定義瞭如果在受信任的窗口中從不受信任的位置文件 > 打開文件會發生什麼。 默認行為是在繼續之前進行提示。 您可以更改此設置以始終打開文件或將其強制進入自動不受信任的新窗口。
另一個設置允許您覆蓋擴展如何響應工作區信任。 這必須在您的 settings.json
文件。 添加一個 extensions.supportUntrustedWorkspaces
以 JSON 對像作為其值的鍵。 添加擴展 ID 作為此對像中的鍵。 每個擴展可以有 true
, limited
or false
作為它的價值。
{ "extensions": { "supportUntrustedWorkspaces": { "my-extension": true } } }
一個擴展名列為 true
將 時刻 即使在不受信任的工作區中也可以啟用。 擴展名 false
只會在受信任的工作區中加載。 limited
擴展將添加到不受信任的工作區,但禁用“受信任”功能。 您將無法使用這些擴展提供的任務。
管理可信文件夾
您可以在 Visual Studio Code 中查看和管理已標記為受信任的文件夾。 按 Ctrl+Shift+P 調出命令面板。 搜索“工作區信任”並從菜單中選擇“工作區:管理工作區信任”項。
廣告
此屏幕顯示您當前窗口的信任狀態。 您可以通過按“不信任”切換到受限模式。 或者,如果您當前處於受限狀態,請按“信任”按鈕以啟用所有功能。
“受信任的文件夾和工作區”部分列舉了您標記為受信任的所有目錄。 您可以通過單擊某個位置並按右側的刪除“X”按鈕來撤銷該位置的信任。
信任由所有子目錄繼承。 信任頂級文件夾,例如 /home/me/projects
將意味著您的所有存儲庫都會自動受信任。 這會損害 Workspace Trust 系統的有效性。
結論
Workspace Trust 對於 Visual Studio Code 用戶來說是一種很有前途的新安全保護。 IDE 無意執行代碼的危險才剛剛開始顯現。 雖然有些人可能會發現信任提示令人沮喪,但它們可以幫助保護您的機器免受危險來源的侵害。
您不太可能希望工作區長時間處於受限模式。 儘管您仍然可以查看和編輯文件,但您將失去 Visual Studio Code 的許多最強大的功能。 最好檢查可執行文件、構建腳本和 .vscode
存儲庫中的文件,檢查是否有任何危險,然後在確定它會按預期運行後信任該位置。