GitHub 收緊 npm 發佈機制 強制雙重認證應對蠕蟲攻擊

GitHub 宣佈將在短期內全面改革 npm 套件發佈機制,引入強制雙重認證、7 天期限代幣及可信任發佈等多項安全措施。該公司表示,推出這些措施的目標是為了解決代幣濫用及自我複製惡意軟件帶來的威脅。最新改革計劃將逐步推行,涵蓋身份驗證方式革新、發佈權限收緊等範疇,期望能建立更安全的 JavaScript 生態系統。



GitHub 宣佈將在短期內全面改革 npm 套件發佈機制,引入強制雙重認證、7 天期限代幣及可信任發佈等多項安全措施。GitHub 表示,推出這些措施的目標是為了解決代幣濫用及自我複製惡意軟件帶來的威脅。最新改革計劃將逐步推行,涵蓋身份驗證方式革新、發佈權限收緊等範疇,期望能建立更安全的 JavaScript 生態系統。

供應鏈攻擊引發改革行動

9 月 14 日 GitHub 接獲 Shai-Hulud 攻擊事件通報。該蠕蟲病毒透過植入惡意安裝後腳本滲透 npm 生態系統,成功入侵超過 500 個套件。攻擊者利用 TruffleHog 工具掃描檔案系統尋找有效金鑰。病毒會自動在受害者 GitHub 帳戶建立名為 Shai-Hulud 的公開儲存庫,將竊取的機密資料上傳。

攻擊手法展現前所未見的複雜性。ReversingLabs 分析指出 rxnt-authentication 套件是首個感染來源。惡意程式碼透過竊取開發者認證資料,自動發佈受感染版本至其他套件,形成連鎖感染效應。受影響套件包括每月下載量超過 800 萬次的 @ctrl/tinycolor。

資安公司 Wiz 研究團隊評估這次事件與 8 月底發生的 s1ngularity 攻擊存在直接關連。兩次攻擊都採用類似手法,將私人儲存庫轉移至公開帳戶並加上 -migration 後綴。攻擊者更利用 GitHub Actions 工作流程持續竊取機密資料,顯示供應鏈威脅正不斷演進。

全新安全架構應對威脅

GitHub 計劃推出的安全措施將徹底改變 npm 套件發佈方式。本地發佈將強制要求雙重認證,精細權限代幣最長有效期縮短至 7 天。傳統 classic 代幣將被淘汰,系統預設將禁止使用代幣發佈套件。

可信任發佈機制成為改革核心。該機制透過 OpenID Connect 協定建立加密信任關係,使用短期工作流程專用憑證進行驗證。每個透過可信任發佈的套件都包含來源及建構環境的加密證明,用戶可驗證套件建構地點及方式。目前 npm 可信任發佈支援 GitHub Actions 及 GitLab CI/CD 管道。

身份驗證技術亦將全面升級。GitHub 計劃淘汰基於時間的一次性密碼,改為採用 FIDO 標準的 WebAuthn 認證。硬件金鑰或平台認證器將取代傳統 TOTP,降低密碼攔截風險。開發者需要立即檢視帳戶設定,確保採用最新安全標準。

Microsoft 旗下的 GitHub 強調這些改變將分階段實施。公司承認部分安全變更可能需要更新工作流程,將提供詳細時程表、文件及遷移指南。團隊表示雖然原計劃讓可信任發佈機制自然增長,但攻擊者的行動迫使他們加快推進時程。

QR Code 成為新型攻擊載體

Socket 安全研究團隊發現名為 fezbox 的惡意 npm 套件採用創新隱寫術技術。該套件透過解析 QR Code 執行 JavaScript 載荷,竊取瀏覽器 cookie 中的用戶名稱及密碼。套件自 8 月 21 日發佈以來累積 476 次下載。

攻擊者使用多層混淆技術逃避偵測。關鍵字串以反向儲存,例如將 password 儲存為 drowssap。惡意程式碼會檢查是否在生產環境執行,等待 120 秒後從 Cloudinary 圖片網址下載 QR Code。解碼後的載荷會讀取 document.cookie,提取認證資料後傳送至攻擊者控制的伺服器。

研究人員指出大部分應用程式已不再於 cookie 儲存明文密碼。然而 QR Code 作為混淆技術展現攻擊者持續改進手法。這種隱寫術方法讓惡意流量偽裝成普通圖片傳輸,令網絡安全工具難以識別。

企業應對策略及未來發展

企業需要立即採取行動保護開發環境。首要任務是全面審核專案相依套件,移除或更新受影響版本。開發團隊應檢查 GitHub 帳戶是否存在名為 Shai-Hulud 的儲存庫或可疑的工作流程修改。所有曾在受影響機器或 CI 執行器使用的憑證都需要輪換更新。

組織應建立多層防禦架構。除實施強制雙重認證外,企業需要部署端點保護監控異常網絡請求。開發流程應納入自動化安全掃描,採用零信任原則對待所有第三方相依套件。定期進行安全培訓,提高開發人員對釣魚攻擊及供應鏈威脅的警覺性。

長遠而言,可信任發佈機制將成為行業標準。除 npm 外,RubyGems、crates.io、NuGet 等主要套件儲存庫已採用類似機制。這種跨平台安全標準化趨勢將提升整個開源生態系統的防禦能力。企業應提前規劃遷移策略,確保開發流程符合新安全要求。

供應鏈安全需要整個社群共同努力。GitHub 安全研究總監 Xavier René-Corail 表示,業界可透過採用強大的安全實踐、善用可用工具及參與集體防禦,共同建立更安全可信的開源生態系統。企業除加強自身防護外,亦應積極參與安全社群,分享威脅情報及最佳實踐。

來源:GitHub