自2026年1月起,不法分子利用GitHub代码托管平台,伪装成DNS与子域名扫描工具,向开发者和用户分发包含远程访问木马(RAT)、信息窃取器以及加密货币挖矿程序等多种Windows恶意软件。
Socket研究团队最初发现的恶意Go模块位于github [.]com / kaleidora / dnsub-scanning-tool。该模块的README文件指向一个合法的开源子域名枚举项目dnsub,但其发布的包却位于一个不同的GitHub命名空间下,以此进行伪装。该模块的包元数据显示异常:自2026年1月24日发布首个版本以来,短短数月内累计发布了超过1200个版本,其中超过700个被确认为恶意版本。
Socket分析认为,这种异常的版本发布并非正常的工程行为,而是攻击者利用GitHub Actions工作流,通过每分钟定时提交并强制推送重写的日志文件,人为制造大量Go“伪版本”记录。
该恶意模块在其main.go文件中隐藏了恶意行为。在执行任何扫描逻辑之前,它会启动一个隐藏的PowerShell窗口,从攻击者控制的域名muckcoding.com下载一个编码文件,并利用Windows自带的certutil工具将其解码为PowerShell脚本L.ps1,然后以绕过执行策略的方式运行该脚本。Socket指出,攻击者并未在脚本中硬编码最终的恶意载荷URL,而是采用了“死信解析器”(Dead Drop Resolver)技术。解码后的L.ps1脚本会从Pastebin、Rlim等公共粘贴服务,以及YouTube、Instagram、Telegram、Google Docs和GitCode等公共平台获取加密的载荷位置信息。脚本会搜索特定标记字符串“LastW”,并使用硬编码密钥解密出真实的下载地址。这种设计为攻击者提供了极大的操作灵活性,即使某个特定粘贴内容或域名被封禁,攻击者也能迅速更新公共平台上的解析内容,而无需改动第一阶段的载荷。
最终解析出的URL指向一个托管在GitHub Release上的、受密码保护的7-Zip压缩包。该载荷会被解压至一个仿冒微软照片应用的目录中,并以隐藏窗口启动其中的Microsoft.exe文件。经分析,最终投放的恶意软件家族包括AsyncRAT、Quasar、Remcos等远程访问木马,以及Vidar等信息窃取器。
以该恶意模块为切入点,Socket团队进一步揭露了一个规模更大的GitHub诱饵网络,该网络包含190个账户下的222个已确认的诱饵代码仓库。
这些仓库的共同特征是使用了一个特定的GitHub Actions工作流,该工作流将Git提交邮箱统一设置为[email protected],同时将可见的提交用户名设置为当前仓库的所有者。这种“邮箱统一、用户名可变”的模式,使得攻击者能在大量一次性账户上制造出归属不同所有者的活跃提交记录,同时留下了一个可供追踪的固定指纹。这些仓库会每分钟重写一次日志文件并进行强制推送,人为制造仓库正在积极维护的假象。
这些诱饵仓库的主题高度集中,主要围绕加密货币和Web3工具、钱包集成、助记词工具、交易所自动化机器人、游戏外挂(如《PUBG》、《无畏契约》和《逃离塔科夫》)以及Telegram和Discord机器人等。
Socket确认,在这些仓库中至少发现了14个不同的恶意文件,包括木马加载器、下载器、Vidar窃密软件、间谍软件、释放器以及门罗币挖矿程序。其中一个名为Loader.exe的文件在四个不同的仓库中完全相同。
Socket高度确信,“Muck and Load”行动与安全厂商Sophos在2025年6月披露的、同样关联邮箱[email protected]的大规模GitHub后门活动属于同一攻击者集群。当时Sophos的研究人员追踪到141个相关仓库,其中133个被植入了后门。Sophos还指出,“Muck”正是该攻击者使用的别名之一,这也解释了本次活动中出现的muckcoding.com和muckdeveloper.com等域名。
目前,GitHub官方及Go语言安全团队尚未就此事发表公开评论,但Go安全团队已迅速响应,将相关恶意模块从Go模块代理(Go module proxy)中屏蔽。
广大开发者和用户应提高警惕,对来源不明、版本号异常激增或功能描述可疑的软件包保持高度警惕,特别是那些声称具有加密货币、游戏外挂或黑客工具等功能的项目,切勿轻易下载或运行其中包含的代码与可执行文件。