隱私權聲明
本公司關心使用者隱私權與個人資訊,並遵守本公司的網站隱私政策,使用者若有任何問題,可以參考本公司的「網站隱私政策」,或利用電子郵件或連絡電話詢問本公司.
2025
11
10

惡意NPM套件攻擊PhantomRaven鎖定開發人員,意圖竊取NPM與GitHub憑證等CI/CD機密[轉載自iThome]

關鍵字:網頁設計程式設計專案開發資訊安全網頁設計作品

惡意NPM套件埋藏惡意程式碼出現更隱密的手法!資安業者Koi Security揭露一起大規模攻擊行動PhantomRaven,並指出攻擊者將惡意內容存放於外部伺服器上的相依套件,使得大部分資安檢測工具難以察覺異狀。

文/周峻佑|2025-10-30發表

一般來說,在許多NPM套件的供應鏈攻擊當中,往往會將惡意指令寫入套件安裝的設定檔案,以便在開發人員的電腦植入惡意軟體,但如今出現相當罕見的手法,使得惡意套件上架兩個多月才被察覺異狀。

資安業者Koi Security揭露大規模NPM套件攻擊行動PhantomRaven,攻擊者從今年8月開始,一共上架126個套件,累計下載超過8.6萬次,這些惡意套件會從開發人員的電腦挖掘NPM與GitHub的權杖(Token)或憑證,以及其他CI/CD有關的機敏資訊。但這波攻擊行動引起Koi Security注意的地方,在於植入惡意程式碼的手法更為間接,能躲過NPM生態系統大部分資安工具的偵測,迄今仍有80個套件未遭下架。

究竟攻擊者如何達到目的?答案是利用遠端動態相依性(Remote Dynamic Dependencies,RDD)的方式,將惡意程式碼埋藏在未上架於NPM套件庫的另一個相依套件,一旦開發者安裝攻擊者上架於NPM的套件,電腦就會透過安裝檔指定的外部URL,取得未受到NPM列管的惡意套件。

這種手法的可怕之處在於,相依套件本身並未在NPM上架,因此,無論資安掃描工具或是相依性分析工具,都不會分析這個相依套件,並忽略其存在。此外,NPM套件庫的說明網頁當中,這種外部相依套件也不會被列入,使得開發人員容易掉以輕心,以為真的不會有其他套件一併被安裝到電腦裡。

除此之外,由於相依套件存放於攻擊者控制的伺服器,攻擊者甚至能根據受害者的IP位址提供不同的有效酬載,例如:向使用VPN連線存取的資安研究員派送沒有惡意內容的NPM套件,但向企業網路環境或雲端環境,提供對應的有效酬載。再者,攻擊者還能「放長線釣大魚」,先提供沒有問題的套件通過受害組織的資安檢測,再透過後續的版本更新推送惡意套件。

這波攻擊更具威力的地方是做到全程自動化,一旦開發人員下達npm install的命令,此時電腦不僅下載前述的外部相依套件並安裝,還會根據預先安裝(preinstall)的指令碼,自動執行node index.js的命令,部署惡意軟體PhantomRaven,過程中完全沒有任何提示或警告訊息,也不需使用者互動。

對於攻擊者的目標,首先,惡意軟體會透過.gitconfig、.npmrc裡的網域名稱,以及package.json作者欄位等資料,尋找開發人員的電子郵件信箱。

再者,他們會搜括GitHub Actions、GitLab CI、Jenkins、CircleCI,以及NPM的憑證或權杖,並偵察開發環境的系統資訊,以便確認受害電腦的型態及價值。最終透過HTTP GET、POST,以及WebSocket連線,將資料外傳。

值得一提的是,Koi Security指出攻擊者使用的誤植名稱(Typosquatting)手法也有所不同,這些上架的NPM套件名稱,並非隨機的拼寫錯誤,而是根據大型語言模型(LLM)幻覺的弱點而設置。當開發人員向GitHub Copilot或ChatGPT等AI助理詢問的時候,LLM可能會建議他們看似相當合理但實際不存在的套件,攻擊者就將套件設置成這些名稱來達到目的。這種根據LLM可能出現的幻覺而設置套件名稱的手法,Koi Security稱為Slopsquatting。

你可能有興趣的作品案例
傑立資訊傑立資訊事業有限公司
Powered by AWS Cloud Computing

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:[email protected] | 臺北市信義區和平東路3段257號6樓map

© 2019 傑立資訊 All rights reserved.| 網站隱私政策

線上詢價