安全研究員 Ammar Askar 於 2026 年 6 月 2 日披露了 Visual Studio Code 中的一個關鍵漏洞,揭示攻擊者可透過一種看似簡單的點擊一次攻擊竊取 GitHub OAuth 權杖。微軟於次日,即 6 月 3 日,迅速推出臨時修補程式,這種快速回應時間充分說明了雷德蒙德對此問題的重視程度。
此漏洞針對 GitHub.dev,這是數百萬開發者用於在瀏覽器中直接編輯代碼的基於瀏覽器的 VS Code 版本。攻擊者利用此漏洞可獲取與受害者被入侵令牌相關的每個倉庫,包括私有倉庫。
攻擊如何運作
該漏洞存在於 VS Code 的 webview 系統中,該組件負責在編輯器內渲染嵌入式網頁內容。Webview 通過訊息傳遞機制與主 VS Code 進程進行通信,而這正是問題的關鍵所在。
攻擊鏈從一個指向 GitHub.dev 工作區的惡意連結開始。該工作區內含一個嵌入有害 JavaScript 的 Jupyter 筆記本。當受害者開啟該連結時,筆記本的代碼會在 webview 上下文中執行。
從那裡,惡意腳本模擬鍵盤事件,以程式化方式與 VS Code 的介面互動。它利用 GitHub.dev 延伸至工作區內容的信任模型,成功誘騙編輯器將攻擊者的代碼視為合法的使用者輸入。
腳本隨後從受信任的工作區安裝一個惡意擴展程式。該擴展程式在不觸發任何可見警告的情況下,悄悄竊取受害者的 GitHub OAuth 權杖。整個過程僅需點擊一個連結即可完成。
Askar 在披露的同時釋出了完整的公開概念驗證儲存庫,為安全團隊提供了理解與測試該漏洞所需的資訊。
微軟的回應與更廣泛的模式
Microsoft 於 6 月 3 日的補丁引入了兩項關鍵防護措施。首先,當用戶嘗試在 GitHub.dev 中打開特定檔案類型時,系統會顯示確認提示,中斷了使此攻擊如此有效的無縫單點擊鏈。其次,它阻止了攻擊所依賴的潛在有害擴展命令,以防止惡意程式碼靜默安裝。
此披露的時機值得注意。就在幾週前的 2026 年 5 月 20 日,GitHub 本身因一個被污染的 VS Code 擴充功能而遭受安全漏洞,導致約 3,800 個內部儲存庫受影響。
這對開發人員和組織意味著什麼
對於個體開發者而言,立即採取的行動很簡單:確保 GitHub.dev 會話已更新至 Microsoft 的最新修補程式。輪換任何可能已外洩的 OAuth 金鑰,尤其是如果您在最近幾週點擊過不熟悉的 GitHub.dev 工作區連結。檢查您安裝的擴充功能,並移除任何未積極使用的項目。
安全團隊應審查哪些員工擁有對 GitHub.dev 的存取權限,並確認其 OAuth 權杖是否具有超出必要的廣泛權限。遵循最小權限原則,僅授予權杖執行任務所需的最低存取權限,將能顯著限制此類攻擊所造成的損害。
