熱門程式碼儲存庫遭駭客下毒,數百萬開發者面臨風險
疑似北韓駭客發動了近期記憶中技術最精密的供應鏈攻擊之一,入侵每週下載量約達 1 億次的 JavaScript 程式庫 Axios。這起攻擊發生於 3 月 31 日凌晨,持續約三小時;攻擊者將惡意程式碼植入數千家公司使用的軟體,影響醫療、金融、加密貨幣交易所及科技等產業。安全研究人員估計,遭下毒的版本約占該程式庫使用者的 3%,可能使數十萬個系統暴露於遠端存取木馬的威脅下;這些木馬專門竊取加密貨幣及企業憑證。
Axios 是一種以 Promise 為基礎的 HTTP 用戶端,可在 Node.js 和瀏覽器中進行非同步 API 請求,是現代網頁應用程式的基礎元件。從醫療服務提供者到金融機構,各類公司都仰賴這套程式庫簡化網站建置與資料交換。部分加密貨幣公司及活躍於數位資產產業的科技公司也使用這套軟體,因此成為平壤創造收入的網路行動特別有價值的目標。Axios 在企業環境中廣泛採用,意味著這次入侵會對下游相依套件及整合服務造成連鎖風險。
Google 威脅情報小組正式將這起事件歸因於 UNC1069。這個以經濟利益為動機的北韓威脅行動者,至少自 2018 年起便十分活躍。該組織以鎖定加密貨幣交易所、去中心化金融平台及創投公司而聞名,藉此資助平壤的核武與飛彈計畫。Google 旗下情報公司 Mandiant 指出,這是北韓利用全球軟體供應鏈攻擊高價值經濟目標行動的最新升級。
Mandiant 技術長 Charles Carmakal 說明了這項威脅的長期影響。
我們預期他們會試圖利用近期在這起軟體供應鏈攻擊中取得的憑證與系統存取權,鎖定企業並竊取加密貨幣。評估這波行動對下游造成的影響,可能需要數月時間。
Huntress 安全研究員 John Hammond 表示,他的公司已找出約 135 台遭入侵裝置,分屬約 12 家公司;不過,他預期這只是最初一波發現,隨著各組織完成鑑識稽核,後續還會找出更多受害者。
供應鏈入侵手法
這起攻擊始於駭客控制了 Axios 程式庫主要維護者 @jasonsaayman 的 npm 帳戶。威脅行動者並未利用高難度的零時差漏洞,而是使用長效存取權杖繞過包括以 OpenID Connect 為基礎的驗證流程在內的現代安全控管。這讓他們得以直接向 Node Package Manager 登錄檔發布兩個植入木馬的軟體版本 1.14.1 和 0.30.4,既未觸發一般安全警示,也不需要多重要素驗證。
Hammond 指出,一項關鍵的設定缺陷促成了這次攻擊。即使在已設定 OIDC Trusted Publishing 的 v1.x 分支,發布工作流程仍會將 NPM_TOKEN 作為環境變數,與 OIDC 憑證一併傳送。兩者同時存在時,npm 會使用權杖。這表示無論 OIDC 如何設定,所有發布者實際上都以長效權杖進行驗證。這項架構疏失讓攻擊者得以繞過防護,即使維護者已在帳戶啟用多重要素驗證也無濟於事,凸顯舊式驗證機制可能削弱現代安全架構。
攻擊者展現了周密的準備與耐心。在主要攻擊發生前 18 小時,他們發布了一個名為 plain-crypto-js 的乾淨版幽靈相依套件,建立發布紀錄,避免一個毫無發布紀錄的帳戶引發懷疑。在 Axios 首個惡意版本發布前 20 分鐘,他們推送了這個相依套件的武器化版本,其中包含一段安裝後指令碼,開發者安裝或更新遭入侵的程式庫時便會自動執行。第二個植入後門的版本僅在 39 分鐘後發布,顯示該組織已將部署流程自動化,以便在有限的時機內盡可能擴大散布範圍。
攻擊期間,維護者在重新取得控制權時遭遇重大困難。一名協作者在公開的 GitHub 問題討論中表示,他們無法撤銷發布惡意版本的帳戶權限,因為攻擊者的權限比他們更高。駭客因此仍保有發布權限,開發社群則爭分奪秒地控制損害。NPM 最終在惡意版本首次發布三小時後將其下架,並對 plain-crypto-js 套件實施安全封鎖,一小時後以安全佔位套件取代。
跨平台惡意軟體植入持續性後門
安裝後,這個惡意相依套件會部署一個經過混淆、名為 SILKBELL 的 JavaScript 下載器,從 sfrclak.com 遠端命令與控制伺服器取得各平台專用的酬載。針對 Windows 系統,惡意軟體會傳送能執行任意命令的 PowerShell 工具;macOS 使用者會收到 C++ Mach-O 二進位檔,Linux 安裝則會遭到 Python 後門攻擊。安全研究人員將這款第二階段惡意軟體識別為 WAVESHAPER.V2,是 UNC1069 在加密貨幣產業攻擊中使用的某款後門的演進版本;該後門可追溯至 2023 年。
這起攻擊的技術架構展現了刻意設計的隱匿性與平台識別能力。駭客沒有直接修改 Axios 原始碼,因為修改內容會出現在公開儲存庫中,並觸發程式碼審查警示;他們改以相依套件鏈植入惡意功能。StepSecurity 研究人員指出:「Axios 本身沒有任何惡意程式碼,而這正是這起攻擊如此危險的原因。」plain-crypto-js 套件透過 package.json 檔案中的 postinstall 掛鉤執行,讓惡意軟體在安裝過程中悄悄運作,之後再清除自身檔案,並以乾淨版本取代套件中繼資料。
WAVESHAPER.V2 每 60 秒向命令與控制基礎設施發送訊號,並可透過命令列引數接收動態 C2 網址。這項設計讓攻擊者能輪替基礎設施,而無須重新部署惡意軟體。這款後門支援四種主要功能:終止執行中的程序、列出目錄並取得含時間戳記與檔案大小等詳細中繼資料、透過原生指令碼語言執行系統命令(例如在 macOS 使用 AppleScript,或在 Linux 執行殼層命令),以及將任意二進位檔注入執行中的程序。Elastic Security Labs 的分析顯示,macOS 二進位檔參照了開發者建置路徑,可直接連結到 BlueNoroff 的 webT 模組;該模組曾用於先前的 RustBucket 和 Hidden Risk 惡意軟體行動,進一步支持北韓歸因。
平壤的數位收入機器
北韓的駭客行動已演變為資助受制裁核武計畫的主要管道。根據聯合國報告及白宮於 2023 年發布的估計,平壤約有一半的飛彈開發經費來自網路竊盜;近年來,駭客從銀行和加密貨幣公司竊取數十億美元。光是去年,北韓行動人員便在一宗創紀錄的大型竊案中竊取 15 億美元加密貨幣,展現大規模入侵高價值目標的能力。
Wiz 戰略威脅情報總監 Ben Read 說明,北韓的行動方式有別於其他國家級威脅行動者。
北韓不在乎名聲,也不擔心最終會被指認,因此,儘管這類行動動靜很大、備受矚目,他們仍願意付出這樣的代價。
這種風險承受度讓平壤得以大膽發動供應鏈攻擊,其他國家可能因擔心外交後果或遭到歸因而避免採取這類行動。Axios 遭入侵事件延續了三年前的一項模式:當時據稱北韓行動人員滲透了 3CX。這家軟體供應商提供醫療機構和連鎖飯店使用的語音與視訊通話服務。
Google 威脅情報小組首席分析師 John Hultquist 強調,該組織特別鎖定數位資產。
北韓駭客在供應鏈攻擊方面經驗豐富,過去曾利用這類攻擊竊取加密貨幣。目前仍不清楚這起事件的完整影響範圍,但考量到遭入侵套件的普及程度,我們預期影響將十分廣泛。
UNC1069 過去曾利用假 Zoom 會議、社交工程手法及多種獨特惡意軟體家族攻擊金融科技公司,顯示其持續且不斷演變的行動重心鎖定加密貨幣生態系。
供應鏈漏洞的連鎖效應
Axios 事件發生之際,針對開放原始碼軟體生態系的供應鏈攻擊正令人憂心地激增。過去一個月,安全團隊接連應對多起攻擊,包括熱門安全掃描工具 Trivy、廣泛用於整合 AI 模型的 Python 程式庫 LiteLLM,以及通訊平台 Telnyx 遭攻擊。Google 已確認 Axios 攻擊與近期 TeamPCP 供應鏈事件無關,但每一次成功入侵都會讓攻擊者取得新憑證及存取其他儲存庫的初始權限,形成持續擴大的入侵循環。
Carmakal 警告,近期連串攻擊已造成大量機密資訊遭竊。他解釋:「過去兩週竊得的機密資料,將使攻擊者在接下來幾天、幾週及幾個月內,發動更多軟體供應鏈攻擊、入侵軟體即服務環境並進一步攻擊下游客戶、發動勒索軟體與勒索行動,以及竊取加密貨幣。我們掌握的遭竊憑證達數十萬筆。這些攻擊背後有各種動機不同的行動者。昨天 Axios 的 npm 供應鏈攻擊影響範圍廣泛,也波及其他仰賴 Axios 的熱門套件。」
SentinelOne 資深研究員 Tom Hegel 強調,這項威脅難以察覺。
每次載入網站、查看銀行餘額,或打開手機上的應用程式時,Axios 很可能正在背景某處運作,讓一切正常執行。你不必點擊任何內容,也不必犯錯。你早已信任的軟體替你做了這件事。
這番話凸顯供應鏈攻擊如何利用使用者對既有軟體元件的信任,繞過傳統資安意識訓練與端點防護。
規避偵測手法與鑑識對策
攻擊者採用精密的反鑑識措施,增加事件應變與偵測難度。惡意軟體執行後不只刪除自身安裝檔案,還會竄改版本資訊誤導防禦人員。惡意 plain-crypto-js 套件回報的版本是 4.2.0,而非 4.2.1,讓安全團隊在確認套件完整性時產生混淆。這種版本偽裝手法旨在使管理員誤以為系統執行的是合法軟體,實際上卻已安裝遭入侵的版本。
ReversingLabs 首席軟體架構師 Tomislav Pericin 將這起攻擊描述為未來行動的範本,而非孤立事件。
此處記錄的高度行動精密度,包括維護者憑證遭入侵、為三種作業系統預先備妥酬載、不到 40 分鐘便攻擊兩個發布分支,以及內建鑑識痕跡自毀功能,都顯示威脅行動者將此事規劃為可擴大規模的行動。如果這波攻擊現在也出現在 PyPI 和 NuGet,便符合攻擊手法所顯示的意圖:盡可能觸及更多開發者。
各組織現在不只必須稽核 npm 相依套件,也要檢查所有供應建置流程的套件管理工具。Hammond 指出,考量到目前的開發趨勢愈來愈仰賴自動化,這次攻擊的時機尤其令人擔憂。他表示,隨著 AI 代理快速普及,能在缺乏審查或防護措施的情況下於組織內生成軟體,這次駭客攻擊的時機可謂恰到好處。風險不只影響直接使用 Axios 的使用者,也涵蓋開發工具會自動解析相依套件的所有組織。Semgrep 創辦人 Isaac Evans 指出,即使開發者鎖定版本、保留鎖定檔並遵守標準安全作業,仍可能受害,因為他們的整合式開發環境會在背景拉取相依套件。
確保軟體供應鏈安全
各產業的安全團隊正忙於評估暴露風險並修復遭入侵的系統。使用 Axios 的組織必須立即稽核相依套件樹,確認是否包含 1.14.1 和 0.30.4 版本,降級至已確認安全的版本,例如 1.14.0 或 0.30.3,並輪替安裝期間可存取的所有憑證。遭入侵的技術指標包括 node_modules 目錄中出現 plain-crypto-js、連線至 sfrclak.com(IP 位址 142.11.206.73),以及 macOS 系統的 /Library/Caches/com.apple.act.mond 等暫存目錄出現可疑程序。
立即的緩解措施包括在 package-lock.json 檔案中將 Axios 固定為已知安全版本,以避免意外升級;確認是否存在惡意相依套件;終止已確認的惡意程序;在網路邊界封鎖已知命令與控制網域;將受影響系統與正式環境網路隔離;以及輪替所有可能在入侵期間外洩的機密資訊與憑證。組織也應檢查存取記錄,確認是否有人未經授權使用可能遭惡意軟體竊取的 API 金鑰或服務帳戶。
Sonatype 外勤技術長 Ilkka Turunen 強調,這起事件暴露出根本的信任問題。他解釋:「這起攻擊顯示,駭客現在利用的是人們對程式碼的信任,而不是程式碼本身。惡意功能透過預先植入的相依套件導入,並被設計成會抹除自身痕跡,讓攻擊更難察覺,也更難及時了解。這不只是惡意軟體,更顯示出一套更有計畫且成熟的行動手法。」Kaseya 資安主管 Mike Puglia 指出,這些事件進一步證明全球軟體生態系十分脆弱,單一帳戶遭入侵,就可能在數小時內使數萬個組織暴露於風險之中。
重點整理
- 北韓威脅組織 UNC1069 入侵 JavaScript 程式庫 Axios。該程式庫每週下載量達 1 億次,約存在於 80% 的雲端環境中
- 惡意版本 1.14.1 和 0.30.4 於 3 月 31 日上架約三小時,約有 3% 的使用者下載,下載量可能達 60 萬次
- 攻擊者利用名為 plain-crypto-js 的幽靈相依套件部署 WAVESHAPER.V2 跨平台後門,可感染 Windows、macOS 和 Linux 系統
- Google 旗下 Mandiant 預期,該組織會利用竊得的憑證長期竊取加密貨幣,資助北韓核武與飛彈計畫
- 惡意軟體具備進階反鑑識能力,包括自我刪除及版本偽裝,將版本回報為 4.2.0 而非 4.2.1,以規避偵測
- 組織必須立即稽核相依套件樹、輪替所有憑證、封鎖 C2 網域 sfrclak.com 與 IP 位址 142.11.206.73,並降級至安全的 Axios 版本
- 這起入侵透過長效存取權杖繞過 OIDC 驗證控管,凸顯清除舊式憑證的必要性






