SafeDep 的攻擊活動頁面與社群彙整清單最終列出了 1,937 個受影響的 AUR 套件名稱,充分顯示了這次攻擊的波及範圍之廣 。重要的是,Arch Linux 官方儲存庫(
core、extra、community)並未受到影響──這是一起專門針對 AUR 的事件 。
攻擊行動分為兩個明顯的波次展開,攻擊者不斷調整方法以躲避偵測。
攻擊者有系統地認養了孤兒套件。一旦取得了維護者權限,他們並非直接修改軟體原始碼本身──此舉可能導致校驗碼(checksums)不符,進而觸發警報。他們改為修改建置腳本 PKGBUILD,在其中注入惡意的 npm 相依套件:atomic-lockfile(v1.4.2) 與 js-digest(v4.2.2) 。這些惡意套件被設定為在執行
makepkg 程序時自動啟動。為了進一步隱藏惡意行為,這段程式碼被嵌入 .install 腳本中,並利用殼層字串分割(shell string splitting)、混合引號(mixed quoting)以及十六進位跳脫(hexadecimal escapes)等技巧來偽裝 。
僅隔一天,第二波攻擊隨即出現。這次,攻擊者將原本使用 npm 的安裝路徑,改為基於 Bun 的安裝流程,並使用了另一個名為 lockfile-js(v1.4.2)的惡意套件 。此舉增加了偵測上的複雜度,因為許多第一波的入侵指標(IoC)都聚焦在 npm 套件庫上,安全工具必須更新才能監控到新的執行環境與相依套件
。
藉由只對建置說明檔(build instructions)下毒,而非軟體本身,攻擊者成功繞過了傳統的完整性檢查機制。上游原始碼看起來乾淨無虞,惡意軟體只在建置期間才被擷取並執行,這使得未手動檢查 PKGBUILD 腳本的使用者根本無法察覺異狀 。
凡是用於建置受感染套件的機器,都會接收到一個專為間諜活動與持續潛伏設計的雙階段酬載。
ps 和 htop 等標準偵測工具發現。該 Rootkit 使用 /sys/fs/bpf/ 作為持續潛伏的機制,使其極難被移除 結合了憑證竊取器與核心層級 Rootkit,此攻擊對開發者構成極度嚴重的威脅,尤其開發者的工作站通常儲存著高權限的存取金鑰與敏感資料。
Arch Linux 社群與資安產業迅速動員,但此次攻擊的規模使得應對工作變得相當複雜。
aur-malware-check),以協助使用者稽核自己的系統 Atomic Arch 攻擊暴露了仰賴志願者維護、基於信任的社群儲存庫在結構上的弱點。
安全研究人員與 Arch 社群給出的指引口徑一致:這不是單純移除單一套件就能了事的情況。
pacman -Qmatomic-lockfile、lockfile-js 或 js-digest 的痕跡,以及 /sys/fs/bpf/ 目錄下的可疑項目
Comments
0 comments