宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

利用不可見代碼發動供應鏈攻擊,GitHub等代碼倉庫遭殃

2026年05月09日 首頁 » 熱門科技

研究人員近日發現了一種新型供應鏈攻擊,大量惡意軟體包正在湧入各大代碼倉庫,這些包中隱藏著人眼無法識別的不可見代碼,令傳統安全防禦手段幾乎失效。

來自Aikido Security的研究人員於上周五披露,他們發現了151個惡意軟體包,這些包於3月3日至9日期間被上傳至GitHub。供應鏈攻擊已有近十年歷史,通常通過上傳與主流代碼庫高度相似的惡意包,誘使開發者誤將其引入自己的項目,部分惡意包甚至被下載數千次。

此次發現的惡意包採用了一種更新穎的手法:在幾乎所有編輯器、終端和代碼審查界面中,部分代碼內容完全不可見。雖然大多數代碼以正常、可讀的形式呈現,但惡意函數和攻擊載荷——通常是暴露惡意行為的關鍵線索——被編碼為人眼不可見的Unicode字符。Aikido表示該技術首次被發現是在去年,它使得人工代碼審查和其他傳統防禦手段幾乎形同虛設。此次受攻擊的代碼倉庫還包括NPM和Open VSX。

這些惡意包之所以難以檢測,還因為其可見部分質量極高。

"這些惡意注入並不是以明顯可疑的提交方式出現的,"Aikido研究人員寫道,"周邊的代碼改動看起來十分真實:文檔微調、版本更新、小幅重構和漏洞修復,風格上與目標項目高度一致。"

研究人員懷疑,他們將這一攻擊組織命名為Glassworm,該組織正在利用大語言模型生成這些看似合法的軟體包。"在我們目前觀察到的規模下,手動為151個以上不同代碼庫定製代碼改動根本不現實,"他們解釋道。同樣追蹤該組織的安全公司Koi也表示,懷疑該組織在使用AI技術。

這些不可見代碼藉助Unicode規範中的"私用區"(Private Use Areas,有時也稱為Private Use Access)來實現,該區域是Unicode為定義表情符號、旗幟等特殊符號而保留的私用字符範圍。這些字符在電腦處理時可對應美國字母表中的每一個字母,但其輸出對人類完全不可見。審查代碼或使用靜態分析工具的人只能看到空白或空行,而在JavaScript解釋器中,這些字符點則會被轉化為可執行代碼。

這些不可見的Unicode字符早在數十年前就已被設計出來,此後逐漸被人遺忘,直到2024年才被黑客重新用於向AI引擎注入惡意提示。雖然這些文字對人類和文本掃描工具不可見,但大語言模型卻能輕鬆讀取並執行其中的惡意指令。AI引擎此後雖已設置了一些限制此類字符使用的防護措施,但這些防護仍會被周期性繞過。

此後,這種Unicode技術已被應用於更傳統的惡意軟體攻擊中。在Aikido本次分析的其中一個惡意包中,攻擊者使用不可見字符對惡意載荷進行了編碼。檢查代碼時什麼都看不到,但在JavaScript運行時,一個小型解碼器會提取真實字節並將其傳遞給eval()函數執行。

"傳遞給s()函數的反引號字符串在任何查看器中看起來都是空的,但其中塞滿了不可見字符,一旦解碼就會生成完整的惡意載荷,"Aikido解釋道,"在以往的事件中,解碼後的載荷會以Solana作為傳輸通道獲取並執行第二階段腳本,能夠竊取Token、憑證和密鑰資訊。"

自在GitHub上發現這批新的惡意包以來,研究人員還在npm和VS Code市場中發現了類似的包。Aikido表示,目前檢測到的151個包很可能只是整個攻擊活動的一小部分,因為其中許多在首次上傳後已被刪除。

防範供應鏈攻擊的最佳方式,是在將任何軟體包及其依賴項引入項目前仔細檢查,包括核查包名是否存在拼寫錯誤。如果對大語言模型參與生成惡意包的懷疑屬實,今後惡意包可能會越來越難以與合法包區分,尤其是在不可見Unicode字符被用於編碼惡意載荷的情況下。

Q&A

Q1:什麼是供應鏈攻擊?開發者為什麼難以發現這類威脅?

A:供應鏈攻擊是指攻擊者上傳與主流代碼庫名稱或結構高度相似的惡意軟體包,誘使開發者誤將其引入項目。此次發現的新型攻擊更難識別,因為惡意代碼使用了人眼不可見的Unicode字符進行編碼,在編輯器和代碼審查工具中只顯示為空白,而JavaScript解釋器卻能正常執行其中的惡意指令,傳統靜態分析手段幾乎無法檢測。

Q2:Glassworm攻擊組織是如何利用大語言模型發動攻擊的?

A:研究人員懷疑Glassworm使用大語言模型批量生成看似合法的惡意軟體包。這些包的可見部分質量極高,包含文檔更新、版本疊代、小幅代碼重構等與正常項目一致的改動,難以通過肉眼或常規工具識別。在如此大規模的攻擊中,手動製作超過151個定製化惡意包幾乎不可能,因此研究人員和安全公司Koi均懷疑背後有AI技術的參與。

Q3:開發者應該如何防範使用不可見Unicode字符的惡意軟體包?

A:目前最有效的防禦方式是在引入任何第三方軟體包前進行嚴格審查,包括核查包名拼寫、檢查代碼依賴項,以及使用能夠識別不可見Unicode字符的專用安全工具。由於傳統靜態分析工具無法檢測此類隱藏代碼,建議團隊引入專門針對Unicode私用區字符的掃描能力,並對來源不明或新近上傳的軟體包保持高度警惕。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新