![]()
300多個惡意安裝包,從游戲外掛到手機追蹤器,全藏在你每天用的代碼倉庫里。這不是供應鏈攻擊的老故事,而是一場針對"搜索習慣"的精準狩獵。
Netskope Threat Labs最近抓到一個代號"TroyDen's Lure Factory"的活躍 campaign。攻擊者沒黑進任何正規項目,而是憑空造了一個看起來比真的還真的GitHub倉庫——AAAabiola/openclaw-docker,偽裝成開源AI項目OpenClaw的Docker部署工具。
這個假倉庫的完成度高得離譜:雙語README、配套GitHub.io頁面、甚至拉來了一位擁有568星真實項目的開發者當" contributor"。剩下的星星和fork?買的僵尸號刷的。標簽精準打上ai-agents、docker、LLM,搜索引擎優化做得比不少正經項目還專業。
AI寫名字,人類寫劇本
研究人員在追蹤時發現一個詭異細節:所有誘餌文件的目錄名都取自冷僻的生物分類學、古拉丁語和醫學術語。這種命名風格不像人類黑客的手筆,更像是AI批量生成的結果——機器給機器打掩護。
攻擊者顯然懂開發者的搜索路徑。300多個確認的包涵蓋四類高需求場景:游戲作弊器、手機定位追蹤、VPN破解工具、Roblox腳本。每一類都對應一群愿意為了"免費工具"關閉安全警告的用戶。
![]()
技術層面最狠的設計是"分體激活"。每個惡意ZIP里塞三樣東西:Launch.bat批處理文件、偽裝成unc.exe的LuaJIT運行時、以及藏成license.txt的混淆Lua腳本。單獨送檢任何一個,沙箱都報無毒。
只有按正確順序執行——批處理文件同時調用另外兩個——惡意代碼才會蘇醒。這直接鉆了自動化分析管道的空子:大多數安全工具習慣把壓縮包拆開,一件一件掃描。
五道安檢,專防研究者
payload激活后還要過五關:查調試器、查內存大小、查系統運行時間、查屏幕分辨率、查進程黑名單。任何一條觸發,程序當場自毀,不留痕跡。
過關后的動作很直接:定位受害者地理位置,截取完整桌面截圖,回傳到法蘭克福的C2服務器。后端用了8個IP做負載均衡,架構明顯是為大規模運營準備的。
時間線往回拉,研究者發現這個團伙的Telegram頻道@NumberLocationTrack從2025年6月就開始以"TroyDen"名號活動。GitHub倉庫是后來才搭的舞臺,說明整個 campaign 至少醞釀了小半年。
![]()
LuaJIT的選擇也值得玩味。這種JIT編譯的腳本語言能把代碼藏得極深,同時保持跨平臺能力——Windows和Linux通吃,正好覆蓋Docker工具的目標用戶群。
開發者成了新靶心
傳統認知里,供應鏈攻擊是往npm、PyPI里投毒,等下游項目被動依賴。這次反過來:攻擊者直接造"上游",等開發者主動找上門。搜索行為本身成了攻擊向量。
OpenClaw是個真實存在的AI項目,但官方根本沒有Docker部署方案。攻擊者填了這個信息真空,用SEO把假倉庫頂到搜索結果前列。一位安全研究員評論:「這不是技術漏洞,是信任漏洞——開發者太習慣README里的安裝指令了。」
GitHub的應對目前停留在刪倉庫、封賬號。但300多個包散在不同倉庫,同一套C2基礎設施串起所有線索,說明平臺層面的檢測還沒跟上這種"分布式誘餌"的打法。
更值得警惕的是AI輔助生產的痕跡。從命名規則到多語言README,機器生成內容的成本已經低到可以支撐"小作坊式"的精準釣魚。過去需要團隊運營的 campaign,現在一個人加幾套腳本就能跑起來。
受害者畫像也很清晰:想白嫖游戲外掛的青少年、想追蹤伴侶的焦慮配偶、想省VPN錢的普通用戶、以及真心只想部署AI工具的開發者。四類人共享同一個弱點——愿意為了即時滿足,跳過安全檢查。
Netskope的報告末尾留了一個未解的疑問:TroyDen的Telegram頻道至今仍在運營,但GitHub倉庫被清理后,攻擊者會把下一批誘餌投到哪里?Docker Hub?Hugging Face?還是某個還沒被盯上的開發者社區?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.