
Glassworm 拆咗,但香港開發者要即查 token 同 extension
供應鏈攻擊已踩入 AI coding 日常工具

圖:TechCrunch.原文連結
CrowdStrike、Google 同 Shadowserver 今次拆走 Glassworm botnet,表面上係一單國際網安新聞;放返落香港開發者日常,其實更似一次開發工具安全警鐘。攻擊唔係等用家下載奇怪 exe,而係藏喺 VS Code-compatible extension、npm/Python package、GitHub repo 更新入面。即係你用 Cursor、Windsurf、VS Code、VSCodium,或者平時一行 npm install、pip install、clone repo 做 freelance project,都可能踩到同一類信任陷阱。
事件重點係:CrowdStrike 指其 Counter Adversary Operations team 喺 2026 年 5 月 26 日 14:00 UTC,聯同 Google 同 Shadowserver 同步打擊 Glassworm 四條命令及控制通道,包括 Solana 區塊鏈 memo、BitTorrent DHT、Google Calendar dead drop,以及傳統 VPS。咁做之後,受感染機器理論上再收唔到新指令或者新 payload。不過 TechCrunch 亦指出,外界暫時未清楚整個拆除行動背後嘅法律或者技術權限;所以可以講係重大干擾,但唔應該簡化成所有問題已經完結。
攻擊入口係日常工具
Glassworm 之所以值得留意,係因為佢瞄準嘅唔係普通用家部機,而係有 repo、CI/CD、package registry、雲端 key 同客戶程式碼嘅開發機。CrowdStrike 指攻擊者曾經發佈偽裝成 time tracker、formatter 等工具嘅 VSCode extension 到 OpenVSX,受影響範圍唔止 VS Code,亦包括 Cursor、Windsurf、Positron、VSCodium 等 VS Code-compatible editor。另一邊,佢亦利用 npm 同 Python package 嘅 postinstall 或 setup script,在開發者平常安裝 dependency 時靜默執行惡意碼。
更麻煩係 stolen credential 令攻擊可以由一個人部機擴散到多人用嘅 repo。CrowdStrike 指超過 300 個 GitHub repository 被植入惡意碼,方法包括用早前偷返嚟嘅 developer credential force-push 到 default branch。呢種打法比傳統 typosquatting 更危險,因為受害 repo 可能本來係真項目、真 maintainer、真 release,只係某一次更新已經唔再可信。GlasswormRAT 亦被指橫跨 Windows、macOS、Linux,能力包括偷資料、偷 credential 同遙距控制。
VS Code 官方文件講得好直接:extension host 擁有同 VS Code 本身相同嘅權限,extension 可以讀寫本機檔案、發出連線、執行外部 process、修改 workspace settings。呢個設計令 extension 生態好有彈性,但亦代表一個惡意 extension 可能睇到 .env、SSH key、Git credential helper、cloud config、甚至 AI coding 工具打開緊嘅 repo context。重點唔係所有 extension 都危險,而係 extension 安裝同更新本身已經係供應鏈一部份,唔可以再當成純粹改主題色或者加快捷鍵咁簡單。
隱形 Unicode 同 AI coding 放大風險
Glassworm 早前幾波攻擊最有代表性嘅技術係 invisible Unicode。Aikido 喺 2026 年 3 月報告指,攻擊者用 Unicode Private Use Area/variation selector 字元,把 payload 藏喺肉眼睇落似空白嘅字串入面;JavaScript runtime 再用 decoder 還原 byte,最後交俾 eval() 執行。結果係人手 code review、一般 diff view、甚至部分 editor 都可能只見到空白,惡意碼就喺執行期先現形。Aikido 當時見到最少 151 個 GitHub repo 命中,亦見到 npm 同 VS Code marketplace 相關樣本。
Socket 同 Cloud Security Alliance 之後補充,Glassworm 亦濫用 OpenVSX extension manifest 入面嘅 extensionPack 同 extensionDependencies。換句話講,一個 extension 初版可以睇落冇事,到後續更新先加入另一個惡意 extension 作為依賴,令用家透過正常 update 路徑中招。Socket 亦指部分樣本冒認 ESLint、Prettier、Flutter、WakaTime、Claude Code、Codex、Antigravity 等常見工具或者 AI coding 名稱。呢度要小心講:攻擊者可能利用 AI 生成相似度高嘅 commit cover,但公開資料未足以證明每一次修改都係 AI 寫出嚟;可以話 AI 令呢類偽裝更易規模化,唔好講成已經有完整定論。
香港場景:無受害名單,但風險好近
截至 2026 年 5 月 27 日公開資料,未見到香港公司、學校或者開源 maintainer 被點名列入 Glassworm 受害名單;本地受影響情況 [待確認]。不過香港 relevance 唔係靠受害名單,而係靠工作流。startup、agency、公司 IT team、freelancer 同學生 project 都常見 GitHub、npm、PyPI、VS Code-compatible editor、AI coding assistant 同雲端部署放埋同一部開發機處理。只要部機有長期有效 token,攻擊者要嘅就唔一定係本機檔案,而係背後可以寫入 repo、publish package、觸發 CI 或讀取客戶 code 嘅權限。
HKCERT 喺 2026 年香港網安展望提到,2025 年本港錄得 15,877 宗網安事故,按年升 27%;報告亦將 AI 應用同供應鏈風險列為主要關注,並指 35% 使用 AI 嘅企業會將公司資料輸入 AI 工具,近三成企業仍未有人手負責網安。呢組背景放落 Glassworm,就係本地公司未必需要被 Glassworm 直接點名,先至有處理需要。當 AI coding、外判開發、開源 dependency 同 personal access token 混埋,最薄弱位往往係開發流程,而唔係 production firewall。
而家應該點查
第一步唔係恐慌式刪晒 extension,而係做一輪可追蹤檢查。CrowdStrike 公開嘅關鍵 IOC 係:受感染機器喺拆除後會 beacon 到由 CrowdStrike 操作嘅 benign IP 164.92.88[.]210;公司可以查 firewall、DNS、EDR、proxy、VPN 或 endpoint telemetry 有冇相關連線。CrowdStrike 亦公開 YARA rules,用嚟確認 GlasswormRAT 同 downloader 樣本;但要記住 IOC 只反映已知 Glassworm,唔係一般 VS Code extension 風險嘅萬能測試。
- 查 IDE extension:盤點 VS Code、Cursor、Windsurf、VSCodium、Positron 入面已安裝同最近更新嘅 extension,特別係來自 OpenVSX、publisher 名稱似熱門工具、或者新近加入
extensionPack/extensionDependencies嘅 extension。 - 查 repo 歷史:睇 default branch 有冇奇怪 force-push、細碎但唔合邏輯嘅 version bump、formatter change、doc change,尤其係帶有隱形字元、
eval()、postinstall、setup script、外部下載 payload 嘅修改。 - 查 publish 記錄:npm、PyPI、OpenVSX、GitHub release、CI workflow 嘅發佈時間、來源 IP、actor、token 使用記錄,有異常就當 credential 已外洩處理。
- 查 secrets:本機
.env、.npmrc、.pypirc、SSH key、cloud credential、Docker/Kubernetes config、1Password/Vault CLI session、GitHub Actions secret 都要納入範圍。
如果有命中 IOC、裝過可疑 extension,或者 repo/package 曾經出現不明更新,處理 token 要喺乾淨機器做。先撤銷舊 GitHub personal access token、npm token、PyPI API token、OpenVSX key,同相關 cloud key,再按最小權限重發。GitHub 方面應優先用 fine-grained token、設 expiry、限制 repo 同 permission;npm/PyPI 發佈流程就盡量用 project-scoped token、2FA、Trusted Publishing/OIDC 類短期憑證,減少長期 key 擺喺 CI 或開發機。重設密碼同 2FA 之前,如果仍然用同一部可疑機器登入,只係將新匙交返俾同一個攻擊者。
公司層面要補嘅唔止係 dependency scanner。npm audit、SCA、SBOM 主要處理 package vulnerability,對 IDE extension、AI agent skill、OpenVSX transitive dependency 未必有完整視野。比較務實嘅做法係:建立 extension allowlist,限制未審核 publisher;為開發機加 endpoint monitoring;將 freelance、客戶 project、AI agent experiment 放入獨立 VM 或 container;CI 用短期憑證;GitHub 開 branch protection、CODEOWNERS、secret scanning;package publish 權限分開人同 bot。呢啲做法麻煩,但比事後追查一個偷走嘅 token 改過幾多 repo 容易得多。
今次拆除 Glassworm 買到嘅係時間,唔係免疫力。C2 斷咗,受感染機器上嘅惡意檔案、已偷走嘅 credential、被污染嘅 repo history、已發佈嘅 package version 都未必自動消失。對香港開發者嚟講,最實際嘅結論係:開源唔係唔可信,AI coding 亦唔係唔應該用;但開發機、extension、token 同 CI/CD 已經係核心資產。以前只保護 production server,今日已經唔夠。
參考來源
- TechCrunch — CrowdStrike and Google take down botnet used by hackers to target software developers in supply chain attacks — original report
- CrowdStrike: Inside CrowdStrike’s Takedown of a Developer-Targeting Botnet — 官方技術來源,提供四條 C2 通道、IOC、YARA、受影響工具範圍同 remediation 方向。
- BleepingComputer: Glassworm botnet disrupted after resilient C2 infrastructure takedown — 安全媒體交叉核對 takedown、OpenVSX/VS Code extension、npm package 同 IOC。
- Aikido: Glassworm Is Back — 背景研究,解釋 invisible Unicode 技術、151+ repo、npm/VS Code 樣本同 AI 偽裝可能性。
- Socket: 72 Malicious Open VSX Extensions Linked to GlassWorm — 補充 OpenVSX extensionPack/extensionDependencies 攻擊手法,同 AI coding tool 名稱被冒認嘅背景。
- HKCERT:香港網安展望 2026 — 本地脈絡,提供香港事故上升、AI 應用、供應鏈風險同企業網安人手不足資料。
- Visual Studio Code: Extension runtime security — 官方文件,確認 extension 可讀寫檔案、發連線、執行 process,支撐 IDE extension 風險分析。
- GitHub Docs: Managing your personal access tokens — 官方 token 管理資料,支撐 fine-grained token、最小權限、expiry 同撤銷舊 token 建議。
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。







