引言:GitHub 游戏的兴起及其背后的风险
如果您曾经搜索过 GitHub 游戏你可能见过各种各样的游戏,从基于浏览器的射击游戏到用 JavaScript 或 Python 构建的复古克隆游戏。这些项目充满乐趣,易于操作,并且经常出现在 YouTube 教程或论坛中。因此,它们在学校里尤其受欢迎,开发者和学生经常通过 GitHub 解锁游戏 或者从 GitHub io 游戏 页面。
由于游戏如此受欢迎,开发者和学生都会克隆这些代码库,运行代码,然后不假思索地继续玩下去。但问题在于:并非所有这些游戏都像它们看起来的那样。
一些游戏代码库会运行可疑的安装脚本。另一些代码库会引入过时或易受攻击的依赖项。有些代码库甚至会将恶意软件隐藏在资源、容器或部署文件中。由于许多开发者通过 GitHub io 游戏,风险蔓延很快,而且常常不被注意。
在本文中,我们将探讨游戏仓库如何成为严重的安全威胁。我们还会教你如何在不放弃好奇心或 CI/CD.
攻击者为何瞄准 GitHub 游戏和未屏蔽的存储库
乍一看,GitHub 上的游戏代码库似乎无害。毕竟,它们通常是为了好玩而构建的小型实验或教育项目。然而,攻击者对此有不同的看法。实际上,许多这样的 代码库被用作恶意软件传播平台,通常伪装成 GitHub 游戏 or GitHub 解锁游戏.
例如,一个被称为 观星哥布林 运营着超过 3,000个幽灵GitHub账户,被称为“Stargazers 幽灵网络”。该组织故意为恶意代码库加注星标、分叉和监视,以提高其知名度和合法性,通常针对搜索工具或游戏作弊软件的用户。这些代码库已被用于传播信息窃取程序和勒索软件,例如 Atlantida Stealer、Rhadamanthys、Lumma Stealer 和 RedLine。
此外,另一项名为 水咒 至少已经武器化 76个GitHub账户,将多阶段恶意软件嵌入看似合法的工具中。有效载荷隐藏在 Visual Studio 项目文件 (PreBuildEvent) 中,部署混淆脚本和基于 Electron 的二进制文件,用于窃取凭证、提取浏览器数据和长期驻留。目标包括开发人员、DevOps 团队和游戏创作者。
许多开发者会克隆 GitHub 游戏进行测试或学习,而无需审查代码,因此攻击者会利用这一点。同样,GitHub io 游戏(通过 GitHub Pages 提供的仓库)也可能包含恶意 JavaScript、图像或重定向脚本,这些脚本会在浏览器加载时执行。由于许多 GitHub io 游戏未经深入检查就被复用,攻击者便会利用它们来偷运混淆代码、隐藏跟踪器或下载触发器。这些策略利用了开发者对开源项目的信任。
简而言之,游戏代码库和未屏蔽游戏项目的流行,为攻击者提供了温床。未经适当筛选,好奇的开发者只需克隆或托管游戏代码库,就能将恶意软件引入其环境。
想要保护所有 GitHub 项目吗?
如果你想知道如何在游戏模组之外保护你的 GitHub 仓库,不要错过我们关于权限的深入文章, pull requests, CI/CD 集成等。
GitHub Unblocked Games 和 GitHub IO Games 中的恶意软件模式
当开发人员探索标记为 github unblocked games许多看似无害。然而,一些反复出现的模式揭示了容易被忽视的严重威胁。
战役:水之诅咒
趋势科技发现了一个名为 水咒,其中至少 76个GitHub账户 托管伪装成开发者工具或游戏模组的武器化存储库。这些存储库使用以下方式嵌入恶意负载: <PreBuildEvent> Visual Studio 项目文件中的标签。在构建过程中,经过混淆的 PowerShell 或 VBS 脚本会下载加密的 ZIP 存档,安装基于 Electron 的二进制文件,并窃取凭据、浏览器数据和会话令牌。该恶意软件还通过计划任务和注册表更改实现持久性。
GitHub Games 中的伪代码: 「Hook」
powershell -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command "download ZIP from GitHub → extract payload → run installer"
伪代码:混淆的PowerShell执行
# decode base64 payload
payload = decode_base64('...')
# run in memory
execute_in_memory(payload)
这个简化的示例展示了恶意代码如何通过解码并直接在内存中执行来避免磁盘写入。
战役:水之诅咒
趋势科技发现了一种名为 水咒,攻击者至少使用了 76个GitHub账户 托管武器化存储库。这些项目似乎是开发者工具或游戏模组。在内部,它们在构建文件中嵌入了恶意逻辑,特别是通过 <PreBuildEvent> Visual Studio 中的标签 .csproj 文件。
有效载荷包含多阶段脚本,用于下载加密的 ZIP 文件、提取文件并执行后门。此外,攻击者还使用 Windows 注册表编辑和计划任务添加了持久性机制。
伪代码示例:Visual Studio Build Hook
powershell -Command "download ZIP from GitHub, extract payload, and run installer"
伪代码:通过 PowerShell 进行内存执行
# Decode and run base64 payload in memory
payload = decode_base64('...')
execute_in_memory(payload)
这种技术避免写入磁盘,从而帮助攻击者绕过防病毒检测并获得隐身效果。
战役:观星者妖精和幽灵账户
Check Point Research 记录了另一次大规模攻击,该攻击揭露了 观星者幽灵网络. 本次活动使用了 3,000个虚假GitHub账户 增加恶意代码库的 star、fork 数量和关注者数量。其目的是制造一种虚假的合法性。
这些幽灵账户帮助推广了恶意软件,例如 阿特兰蒂达窃贼, 卢玛, 拉达曼蒂斯和 红线,主要针对开发者和游戏玩家。在短短四天内,一波攻击就感染了超过 1,300受害者 通过 Discord 和 README 链接传播修改后的游戏模组包。
伪代码示例:恶意 README
# Ultimate Game Mod Pack 🕹️
Download and run the installer here:
[Download Now](https://github[dot]com/ghost/repo/releases/latest/modpack.zip)
GitHub 游戏存储库中的常见恶意软件模式
| 模式 | 描述 |
|---|---|
| 预安装/构建脚本 | 在安装或构建期间自动运行的脚本,用于获取和执行远程有效负载,通常用户不知情。 |
| 域名抢注和虚假分叉 | 恶意项目模仿流行工具或游戏存储库的名称或结构,诱骗开发人员安装它们。 |
| GitHub Pages 滥用 | 隐藏在“github io games”页面中的 JavaScript、图像或重定向会在页面加载时触发恶意脚本的执行。 |
| 虚假人气信号 | 幽灵账户人为地增加星星、分叉和观察者的数量,使恶意存储库看起来值得信赖。 |
这些技术并非理论上的。它们已经在实际中被观察到 恶意软件活动其中许多针对使用游戏库作为切入点的开发人员。
幸运的是,一些安全平台可以在这些模式造成损害之前将其捕获。在下一部分中,我们将展示 Xygeni 如何在您的 SDLC.
Xygeni 如何保护 GitHub 游戏、未受阻拦的项目和 CI/CD Pipelines
当 GitHub 游戏存储库中出现危险模式时,Xygeni 提供全栈防御,在威胁危害您的系统或供应链之前阻止它们。
1. 早期预警:GitHub 游戏和依赖项中的实时恶意软件检测
西吉尼 持续扫描 NPM、Maven、PyPI 等平台的新软件包。这包括嵌入在意想不到位置的软件包,例如游戏仓库或跨论坛或校园网络共享的 GitHub 未屏蔽游戏项目。如果发现可疑组件,Xygeni 会自动隔离该组件,阻止其在您的依赖项中使用,并向您的团队发送实时警报。这可以防止恶意负载进入您的代码库或 CI/CD pipeline.
2. 可达性感知 SCA 具有智能优先级
无需用警报淹没你的团队, 西吉尼 评估代码中是否确实存在漏洞(可达性) 并纳入风险评分 (每股收益(例如,业务影响)来揭示最关键的问题。这可以显著减少噪音,并确保您的团队能够处理真正重要的事情。
3. 自动修复使用 Pull Requests
当检测到已知修复程序的漏洞或恶意依赖项时,Xygeni 会自动创建一个 Pull Request 升级或修补问题。这可以加快响应时间,减少手动工作,并保持您的 pipeline 安全。
4. CI/CD 阻止恶意构建的安全控制
Xygeni 与 build 集成 pipeline通过 GitHub Actions、Jenkins、GitLab、Azure Pipelines 等。它会扫描构建脚本、Dockerfile 和 CI/CD 配置可疑命令,例如反向 shell 或安装脚本,如果检测到危险代码,则可以阻止构建。
5. 通过符合 SLSA 标准的证明建立诚信
此 Build Security 模块根据 SLSA 和 in-toto 创建签名证明 standards,在源、依赖项上嵌入元数据, SBOM和测试。如果发生任何未经授权的修改,则证明验证失败,并且 pipeline 自动停止。
6. 异常检测 SCM 和 CI 工件
Xygeni 持续监控您的源代码和 CI 环境,以检测异常行为,例如 commit绕过分支保护、未知用户或意外的令牌授予。结合其 SAST 引擎,它可以识别隐藏的后门或 注入脚本 合并或部署之前。
7. 自动资产发现和 ASPM 提升品牌曝光性
Xygeni 建立了一个 实时库存 你的整个 SDLC 生态系统,包括存储库、合作者、 pipelines、依赖关系和云基础设施。这种可视性可实现动态风险优先级排序、合规性映射(例如 NIS2、DORA)以及可供审计的证据,而无需中断现有工作流程。
GitHub Games 对安全开发者的意义:保持好奇心,保持安全
- 如果 repo 包含下载恶意代码的隐藏构建脚本(例如安装后的 PowerShell 脚本),Xygeni 会在执行之前标记并阻止它。
- 当合并引用可疑依赖项的代码时,Xygeni 会阻止它并通过以下方式提供自动修复 Pull Request.
- 如果 GitHub Pages 托管项目包含隐藏的恶意脚本,Xygeni 的 SCA 即使它们仅在页面加载期间执行,恶意软件检测也能识别它们。
- 构建 pipelines 将拒绝 commit如果构建的工件或配置未通过证明检查,则会阻止受损构建进入生产环境。
有了 Xygeni,您可以继续探索和尝试 Github 游戏 充满信心。从克隆到部署,每一步都受到保护。开发人员保持好奇心, pipeline保持安全,您的供应链保持清洁。







