19個惡意NPM套件發動SANDWORM_MODE蠕蟲攻擊,竊取加密貨幣金鑰與CI/CD機密,還鎖定AI開發工具
<div class="field field-name-field-news-column-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/tags/%E6%96%B0%E8%81%9E">新聞</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>供應鏈安全業者Socket在2026年2月20日<a href="https://socket.dev/blog/sandworm-mode-npm-worm-ai-toolchain-poisoning" target="_blank">發布調查報告</a>,揭露一波仍在擴散中的NPM供應鏈攻擊行動。至少有19個惡意套件被植入蠕蟲程式,不只竊取加密貨幣錢包金鑰與CI/CD環境機密,還會濫用遭竊的NPM與GitHub帳號持續擴散。</p> <p>Socket將這波攻擊命名為SANDWORM_MODE,延續先前名為<a href="https://www.google.com/search?num=10&sxsrf=ANbL-n6HhoraVfF8HFfgfzERu86CaDFTWA:1771913688172&q=Shai-Hulud+site:www.ithome.com.tw/news" target="_blank">Shai-Hulud</a>的NPM蠕蟲攻擊手法,但功能更完整、攻擊面也更廣。值得留意的是,攻擊者進一步把目標延伸到AI程式開發工具,透過MCP伺服器注入與提示詞注入機制,直接入侵開發者的工作環境。</p> <p>攻擊者透過兩個NPM發布帳號official334與javaorg,上架19個名稱近似常見工具或函式庫的套件,例如cloude-code、crypto-reader-info、locale-loader-pro、node-native-bridge、secp256等。另外還有4個尚未啟動惡意功能的沉睡套件(Sleeper Packages),研究人員推測可能是後續攻擊使用的預留節點。</p> <p class="rtecenter"><img alt="" src="https://s4.itho.me/sites/default/files/images/0224-SANDWORM_MODE-600.png" style="width: 600px;" /></p> <p><span style="font-size:14px;"><span style="color:#696969;">圖片來源/Socket</span></span></p> <p><span style="color:#B22222;"><strong>不只竊取NPM權杖,還武器化GitHub Actions工作流程,滲透CI環境</strong></span></p> <p>SANDWORM_MODE相關惡意程式內建經武器化處理的GitHub Actions工作流程,只要專案進入CI/CD流程,就會蒐集環境變數、GitHub權杖與各種機密資料,優先透過HTTPS外傳;若傳輸失敗,則改以DNS通道備援傳送。</p> <p>SANDWORM_MODE程式內同時設計類似Shai-Hulud的「dead switch」破壞性機制。一旦無法與GitHub或NPM正常連線,可能觸發刪除使用者主目錄(home directory)中的資料。不過在研究人員發現時,該功能預設為關閉狀態。</p> <p><span style="color:#B22222;"><strong>MCP伺服器注入結合提示詞攻擊,鎖定AI程式開發工具</strong></span></p> <p>研究人員也觀察到,SANDWORM_MODE與過往NPM供應鏈攻擊不同,這波行動另外鎖定AI開發工具,其惡意程式中的「McpInject」模組會部署偽造的MCP(Model Context Protocol)伺服器,並注入開發工具的設定,偽裝成合法工具提供者。</p> <p>一旦注入成功,內嵌的提示詞注入機制會讀取開發者電腦中的SSH金鑰、AWS憑證、NPM設定檔與.env檔案內容,並暫存等待後續外傳。</p> <p>Socket調查發現,受影響工具包括Claude Code、Claude Desktop、Cursor、Microsoft Visual Studio Code(VS Code)的Continue,以及Windsurf。</p> <p>此外,SANDWORM_MODE還會蒐集多家大型語言模型服務供應商的API金鑰,共計9家,包括Anthropic、Cohere、Fireworks、Google、Groq、Mistral、OpenAI、Replicate與Together,企圖同時掌握AI服務與程式碼環境的存取權限。</p> <p><span style="color:#B22222;"><strong>分兩階段運作並延後啟動,降低被沙箱與自動化分析偵測機率</strong></span></p> <p>根據Socket技術報告,SANDWORM_MODE具備完整的蠕蟲攻擊框架,整體攻擊分為兩階段。第一階段先蒐集基本資料與加密貨幣金鑰,並下載第二階段模組;第二階段才進行深度憑證蒐集、密碼管理工具資料擷取、蠕蟲式擴散與完整資料外傳。此外,第二階段會在48小時後才啟動,並加入每臺機器最多額外48小時的隨機延遲時間,以避開沙箱與自動化分析環境。</p> <p>資料外傳模式則採取三重備援機制,依序透過HTTPS、GitHub私有儲存庫與DNS隧道進行傳輸。蠕蟲傳播的方式,則包括利用遭竊NPM權杖發布新版本、透過GitHub API注入惡意工作流程設定,以及SSH金鑰備援機制。整體設計已呈現完整蠕蟲攻擊的典型特徵。</p> <p>Socket建議,曾安裝相關惡意套件的使用者,應立即移除,並重新產生NPM與GitHub權杖,重設CI/CD機密,同時檢查package.json、lock檔與.github/workflows是否出現異常變更。</p> <p>研究人員強調,相同蠕蟲程式碼同時出現在多個拼字相似套件與不同發布者帳號下,顯示這並非測試版本外流,而是刻意投放的供應鏈攻擊。</p> <p>在AI工具與CI流程高度整合的開發環境中,這類攻擊一旦成功,影響範圍可能從單一專案,迅速擴大至整條開發工具鏈與企業AI服務金鑰。事實上,當原始碼、CI憑證與模型API權限同時暴露,代表攻擊者取得的已不只是帳號,而是整個開發生態系的信任邊界。</p> </div></div></div>