資訊安全

GlassWorm 原生化攻擊:一個木馬化的 IDE 擴充套件如何武器化開發者供應鏈

2026.04.12 · 25 次瀏覽
GlassWorm 原生化攻擊:一個木馬化的 IDE 擴充套件如何武器化開發者供應鏈

隱藏在偽造 WakaTime 擴充套件中的 Zig 編譯投放器,瞄準 VS Code、Cursor 和 Windsurf——揭露擴充套件市場的安全盲區

2026 年 4 月第一週,Aikido 的資安研究人員標記了 GlassWorm 攻擊活動令人不寒而慄的新演化——一種透過 IDE 擴充套件悄悄鎖定開發者的供應鏈攻擊。最新變種引入了 Zig 編譯的原生二進位投放器,標誌著攻擊複雜度的重大升級,也是對開發者最信任的工具可能成為最大弱點的嚴厲提醒。


攻擊解析:開發者供應鏈入侵的完整過程


攻擊的開始看似無害。一個名為「specstudio.code-wakatime-activity-tracker」的擴充套件出現在 Open VSX 市場上,偽裝成 WakaTime——一個被數百萬開發者用來追蹤編碼時間的熱門工具。對大多數開發者來說,安裝一個類似 WakaTime 的擴充套件是例行公事,幾乎是反射性的動作。這正是攻擊者所依賴的。


隱藏在擴充套件的套件中,與標準 JavaScript 程式碼並列的,是一個 Zig 編譯的原生二進位檔。與在 Node.js 相對沙盒化環境中運行的 JavaScript 不同,Zig 編譯的原生二進位檔直接載入 Node.js 運行時,並以完整的作業系統級權限執行。這意味著它可以讀寫檔案、存取網路、列舉正在運行的進程,以及與其他應用程式互動——全部不會觸發 JavaScript 惡意軟體通常會引發的安全警報。


多 IDE 感染:一個擴充套件,入侵所有編輯器


這個 GlassWorm 變種特別令人警覺的是它的多 IDE 傳播策略。一旦 Zig 二進位檔執行,其主要目標是定位開發者機器上每一個支援 VS Code 擴充套件的 IDE。這不僅包括 Microsoft VS Code 和 VS Code Insiders,還包括分叉和衍生版本:VSCodium、Positron,以及——關鍵的——新一波 AI 驅動的編程工具,如 Cursor 和 Windsurf。


該二進位檔接著聯繫攻擊者控制的 GitHub Releases 頁面,下載一個偽裝成「autoimport」(一個合法且廣受歡迎的擴充套件)的惡意 VSIX 檔案。這個有效載荷利用每個編輯器自己的命令列介面,靜默地強制安裝到每一個偵測到的 IDE 中。開發者不會看到任何通知,沒有同意對話框。惡意軟體就像另一個已安裝的擴充套件一樣悄然出現。


持久化與資料外洩


完整部署後的 GlassWorm 有效載荷功能廣泛。它在受感染的機器上建立持久性的遠端存取木馬(RAT)。它安裝惡意的 Chrome 擴充套件進行瀏覽器層級的監控。它透過一個非傳統的管道與命令控制基礎設施通訊:基於 Solana 區塊鏈的 C2 系統,這使得傳統的網路偵測變得困難許多。有趣的是,這個惡意軟體包含地理圍欄邏輯,將俄羅斯系統排除在感染範圍之外。


竊取的目標正是你會預期的開發者攻擊目標:SSH 金鑰、API 令牌、雲端憑證、環境變數和原始碼。對於開發者掌管生產環境基礎設施的組織來說,一台被入侵的機器就可能連鎖引爆成全面的安全事件。


更大的圖景:擴充套件市場是系統性風險


GlassWorm 不是一個孤立事件。它是 2025 和 2026 年持續加速的一種模式的最新、最複雜的表現形式:針對開發者工具的供應鏈攻擊。npm 生態系、PyPI,以及現在的擴充套件市場,都已成為惡意程式碼分發的載體。


根本問題在於信任架構。當開發者安裝一個擴充套件時,他們隱含地授予了它對開發環境的重大存取權限。擴充套件市場會進行某種程度的審查,但提交的龐大數量使得徹底審核不可能實現。而且與在相對嚴格的權限模型下運作的瀏覽器擴充套件不同,IDE 擴充套件通常對檔案系統和網路有不受限制的存取。


像 Cursor 和 Windsurf 這樣的 AI 驅動 IDE 的出現增添了另一層擔憂。這些工具設計讓 AI 深入存取程式碼庫、終端機會話和開發工作流程。能夠入侵這類環境的擴充套件不僅能存取靜態檔案,還能存取正在進行的開發的動態上下文——可能包括專有演算法、未發布的功能和內部文件。


我的觀點


GlassWorm 攻擊活動應該成為整個開發者工具生態系的警鐘。我們花了數年時間圍繞生產部署建立安全防護——容器掃描、運行時監控、零信任網路——卻讓開發環境本身處於危險的低防護狀態。


我認為有三件事需要緊急處理。第一,擴充套件市場需要實施強制性的程式碼簽名和可重現建構驗證。如果一個擴充套件附帶原生二進位檔,該二進位檔應該從可審計的原始碼通過可驗證的流水線建構。第二,IDE 需要採用類似行動作業系統的權限模型。一個請求檔案系統存取、網路存取和安裝其他擴充套件能力的擴充套件,應該觸發明確的使用者同意,而不是靜默執行。第三,組織需要將開發者工作站視為高價值目標,投入與生產伺服器同等的安全資源。


GlassWorm 的諷刺之處在於,它利用的正是開發者用來建構全世界依賴的軟體的工具。在我們用對待部署流水線同等的嚴謹態度來保護開發流水線之前,這樣的攻擊將持續發生,而且會越來越嚴重。


如果你安裝了「specstudio/code-wakatime-activity-tracker」擴充套件,或者在任何 IDE 的擴充套件列表中看到「floktokbok.autoimport」,請立即將你的機器視為已被入侵。輪換所有密鑰、撤銷所有令牌,並審計最近的 commit 是否有未經授權的變更。