這是一起典型的供應鏈攻擊(Supply Chain Attack),攻擊者並非利用軟體漏洞或 0-day 漏洞,而是直接操縱開發流程中的信任機制。這次的目標是 Arch Linux 的社群套件庫 AUR(Arch User Repository),影響範圍超過 400 個套件。
對於初入行的工程師來說,最重要的一點是:這次攻擊利用的是「信任的轉移」。攻擊者尋找那些被原作者遺棄(Orphaned)的套件,透過接管維護權限,在不改變套件名稱與歷史紀錄的情況下,偷偷修改建置腳本,讓使用者在安裝軟體時,主動幫攻擊者執行惡意程式。
攻擊路徑與技術手段
攻擊者採取了極具欺騙性的手法。他們首先接管無人維護的套件,並偽造 Git commit 的元數據(Metadata),讓修改紀錄看起來像是由長期維護的信任使用者所提交。
具體操作是在 PKGBUILD(Arch Linux 定義如何建置套件的設定檔)或 .install 腳本中,加入一行指令,例如 npm install atomic-lockfile。當使用者執行建置過程時,系統會下載這個看似正常的 npm 套件。然而,這個惡意 npm 套件包含一個 preinstall hook(預安裝鉤子),會在安裝前自動執行一個名為 deps 的 Linux ELF 二進位執行檔。
這個 deps 執行檔是由 Rust 編寫的資訊竊取程式(Infostealer),其目標非常明確:針對開發者的工作站與建置系統。它會掃描並竊取以下敏感資訊: 瀏覽器資料:Chromium 系瀏覽器的 Cookies、Token 與本地儲存資料。 通訊軟體:Slack、Discord 與 Microsoft Teams 的會話數據。 開發金鑰:GitHub、npm、HashiCorp Vault 的 Token,以及 SSH Key 與 Shell 歷史紀錄。 雲端與基礎設施:OpenAI/ChatGPT 的認證資料、Docker/Podman 憑證與 VPN 設定檔。
竊取的資料會透過 HTTP 傳送到 temp.sh,而指令與控制(C2)則透過 Tor 網路的 onion 服務隱蔽地進行。
進階隱匿技術:eBPF Rootkit
這次攻擊最值得關注的是它引入了 eBPF Rootkit。eBPF(extended Berkeley Packet Filter)原本是 Linux 核心提供的一種高效能監控與網路過濾機制,允許開發者在不修改核心原始碼的情況下執行程式碼。
然而,當惡意程式取得 root 權限後,它會利用 eBPF 載入一個 Rootkit。這個 Rootkit 的目的不是為了獲取權限,而是為了隱藏。它會攔截核心呼叫,將惡意程式的進程 ID(PID)、進程名稱以及網路 Socket 資訊從系統工具(如 ps 或 netstat)中抹除。這意味著即便你查看系統進程,也看不到這個惡意程式在運行,且它還會主動終止任何嘗試對其進行偵錯(Debug)的行為。
除了 Rootkit,該程式還會建立 systemd 服務以實現持久化(Persistence),確保電腦重啟後惡意程式依然能自動執行。
實務影響與應對建議
這起事件給開發者的最大啟示是:不能單純信任套件的名稱。如果一個長期沒更新的套件突然有了新版本,或者維護者突然更換,這是一個高度危險的信號。
如果你在 2026 年 6 月 11 日之後安裝或更新過 AUR 套件,請採取以下行動:
檢查建置紀錄:搜尋快取或歷史紀錄中是否出現 atomic-lockfile 或 js-digest 等可疑字眼。 檢查系統狀態:查看 /sys/fs/bpf/ 路徑下是否出現 hidden_pids、hidden_names 或 hidden_inodes 等 BPF map。 權限評估:如果該套件是以 root 權限執行且疑似中招,由於 eBPF Rootkit 能深度偽裝,單純刪除套件無法保證系統乾淨。最安全的做法是將所有機密金鑰(SSH, GitHub Token, API Keys)全部更換,並重新安裝作業系統。
預防原則:在安裝任何 AUR 套件前,請務必閱讀 PKGBUILD 內容。如果你看不懂建置腳本在做什麼,或者發現它在安裝不相關的第三方依賴,請絕對不要執行安裝。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。