新聞

AI驅動的惡意軟體攻擊「s1ngularity」已入侵2180個GitHub帳戶

2025 / 09 / 11
編輯部
AI驅動的惡意軟體攻擊「s1ngularity」已入侵2180個GitHub帳戶
調查顯示,Nx "s1ngularity" NPM 供應鏈攻擊事件造成嚴重影響,導致數千個帳號權杖與程式庫機密資料外洩。

根據 Wiz 研究團隊的事件後分析報告,Nx 資安漏洞使 2,180 個帳號和 7,200 個程式庫在三個不同階段中遭到曝露。Wiz 強調,由於許多外洩的機密資訊仍然有效,此事件的影響範圍持續擴大,後續效應仍在進行中。

Nx 「s1ngularity」 供應鏈攻擊事件

Nx 是一個廣受歡迎的開源建置系統與多倉庫(monorepo)管理工具,被企業級 JavaScript/TypeScript 專案普遍採用,在 NPM 套件庫中每週下載量超過 550 萬次。

2025 年 8 月 26 日,攻擊者利用 Nx 程式庫中 GitHub Actions 工作流程的安全漏洞,在 NPM 上發布了惡意版本的套件,其中包含安裝惡意腳本「telemetry.js」的後門。

這個名為 telemetry.js 的惡意軟體是一種憑證竊取工具,專門針對 Linux 和 macOS 系統。它會竊取 GitHub 令牌、npm 令牌、SSH 金鑰、.env 檔案及加密貨幣錢包等敏感資訊,然後將這些機密資料上傳至名為「s1ngularity-repository」的公開 GitHub 儲存庫。

延伸閱讀:「s1ngularity」供應鏈攻擊鎖定 Nx 開發工具 超過八成受感染系統為 macOS

此次攻擊最引人注目的特點是惡意程式會安裝 AI 平台的命令列工具,包括 Claude、Q 和 Gemini 等,並運用 LLM 提示技術來搜尋和擷取敏感憑證與機密資訊。

Wiz 報告指出,攻擊者在每次攻擊迭代中皆調整 AI 提示詞,顯示威脅行為者不斷優化提示以提升攻擊效率。從提示詞的演變可見攻擊者迅速掌握了提示工程技巧。研究發現駭客採用角色提示法,測試各種技術細節描述層級,而這些調整更顯著影響了惡意程式的成功率。值得注意的是,當攻擊者加入「滲透測試」一詞後,大型語言模型便明確拒絕參與此類活動。

大規模影響範圍

在攻擊第一階段(8 月 26 日至 27 日),後門化的 Nx 套件直接影響了 1,700 名使用者,導致超過 2,000 個獨特密鑰外洩。此攻擊也暴露了受感染系統中的 20,000 個檔案。GitHub 在八小時後移除了攻擊者建立的儲存庫,但資料已被竊取。

在 Wiz 所定義的第二階段(8 月 28 日至 29 日期間),攻擊者利用外洩的 GitHub 權杖將私有程式庫設為公開,並在這些程式庫名稱中加入「s1ngularity」字串。此舉導致額外 480 個帳戶遭到入侵,其中大多為企業組織帳號,並使 6,700 個私有程式庫被公開暴露。

在第三階段攻擊(始於 8 月 31 日)中,攻擊者鎖定了單一企業受害者,並利用兩個已遭入侵的帳號,將額外 500 個私有程式庫公開暴露。

Nx 的應對措施

Nx 團隊在 GitHub上 發布了詳細的根本原因分析報告,說明此次漏洞源於 PR 標題注入攻擊結合不安全使用pull_request_target所導致。這使攻擊者能以提升權限執行任意程式碼,進而觸發 Nx 的發布流程並竊取 npm 發布權杖。

目前惡意套件已被移除,且受攻擊的權杖已撤銷並重新生成,所有發布帳號現已啟用雙因素認證保護機制。

為了防止類似資安事件再次發生,Nx 專案已採用 NPM 的「可信任發布者」(Trusted Publisher)模型,消除了基於權杖的發布方式,並新增人工審核機制來監督 PR 觸發的工作流程。

本文轉載自 BleepingComputer。