一起利用GitHub代码库的大规模恶意软件传播活动已被曝光。此次协同攻击利用超过1万个代码库传播木马程序。
该活动于 2026 年 6 月 18 日首次被发现,凸显了全球使用最广泛的开发者平台之一在自动检测和监控存储库方面存在重大差距。
GitHub 大规模攻击
这场攻击活动的曝光源于 OrchidFiles 的一位研究人员注意到,他们自己的 GitHub 代码库的克隆版本出现在搜索引擎结果中。这个克隆版本拥有完全相同的元数据、提交历史和贡献者署名。
然而,其README文件中新增了一个指向外部ZIP压缩包的链接。进一步调查显示,这并非孤立事件,而是涉及数千个结构类似代码库的更广泛模式的一部分。
这些恶意代码库并非简单的分支;它们是独立创建的克隆版本,复制了提交历史和贡献者信息。这种做法似乎旨在建立合法性并避免引起怀疑。
一种独特的攻击模式逐渐显现:攻击者频繁删除之前的提交,并每隔几个小时重新推送相同的提交,每次都修改 README 文件,添加指向 ZIP 压缩包的链接。提交信息始终遵循通用格式,例如“更新 README.md”,表明攻击过程是自动化的。
对链接的 ZIP 存档进行分析后发现,其有效载荷结构具有一致性,通常包含四个文件:一个命令脚本(例如 Application.cmd)、一个加载器可执行文件(例如 loader.exe 或 luajit.exe)、一个随机名称的辅助文件和一个 lua51.dll 库。
值得注意的是,直接向VirusTotal 等安全扫描器提交 URL没有检测到任何问题,而上传 ZIP 文件本身却触发了木马警报,这表明有人试图绕过基于 URL 的扫描机制。
为了量化该活动的范围,研究人员使用 GH Archive 中的 GitHub 事件数据开发了一个自定义检测脚本。
该脚本并没有扫描所有代码仓库(估计超过 5 亿个),而是专注于近期活动,重点关注提交频繁的代码仓库。初步筛选将五天内 1600 万次提交事件减少到大约 3000 个定期更新的代码仓库。
进一步的改进采用了更严格的启发式方法,包括非机器人提交活动、提交之间不规则的时间间隔以及多个贡献者的参与。虽然早期版本仅识别出一小部分代码库,但调整检测标准以适应更新频率较低的情况后,检测范围显著扩大。
最终分析发现了约 40,000 个可疑存储库,其中恰好有 10,000 个与恶意软件分发模式相符。
此次网络犯罪活动的规模和持续时间令人严重担忧。许多已发现的恶意软件库已经存在数月甚至更长时间而未被发现。
尽管有人举报,但补救措施似乎只是被动的,而非主动的,只有在收到明确举报后才会删除代码库。后续扫描发现了新创建的恶意代码库,表明威胁行为者正在积极维护和补充其基础设施。
攻击者的策略似乎结合了搜索引擎优化 (SEO)滥用和社会工程学。通过克隆新创建的或低曝光度的代码库并进行适当的标记,这些恶意项目可以在搜索结果中获得更高的可见度。添加合法贡献者的历史记录进一步增强了其可信度,从而增加了用户交互和恶意代码执行的可能性。
关于此次恶意软件的全部功能以及攻击活动的最终目标,目前仍存在诸多疑问。然而,类似技术此前曾与 SmartLoader 等加载器和 StealC 等信息窃取程序相关联,这表明此类攻击可能存在凭证窃取和系统入侵的风险。
此次事件凸显了代码仓库托管平台亟需改进大规模行为分析。虽然GitHub已开始移除被举报的代码仓库,但由于缺乏主动检测机制,此类攻击活动得以持续并不断演变。
夜雨聆风