GitHub 存储库面临 RepoJacking 风险
关键要点
数百万 GitHub 存储库可能受到 RepoJacking 攻击的威胁。攻击者可以利用旧存储库的名称,对组织的系统造成威胁。Aqua Security 发现,全球潜在受影响的存储库数量可能超出 3 亿。安全团队需采取措施保护存储库及其依赖项。数百万个 GitHub 存储库面临 RepoJacking 的潜在漏洞,这使得恶意攻击者能够控制一个组织在开源软件开发服务上更改用户名后留下的旧存储库。
根据 Aqua Security 的 Nautilus 研究组在 6月21日发布的研究,RepoJacking 指的是恶意攻击者注册一个用户名,并创建一个曾被组织使用但已改名的存储库。开发者可能认为该存储库安全,但实际上它已经被攻击者控制,易受恶意软件攻击。
风险: 一旦被利用,它可能导致组织内部环境或客户系统上的远程代码执行。
Aqua Nautilus 从 GHTorrent 网站上的数据样本开始。他们下载了一个随机月份2019年6月的所有日志,并编制了 125 亿个独特存储库名称的列表。接下来,他们抽取了 1 的样本即 125 万个存储库名称,并检查每一个是否易受 RepoJacking 攻击。
研究人员发现有 36983 个存储库存在RepoJacking 漏洞,成功率为 295。通过将样本结果推算至整个 GitHub 存储库基础,研究人员估计可能有超过 3 亿个易受攻击的存储库。

Aqua Nautilus 还创建了一个概念验证PoC,展示了 RepoJacking 的工作原理。他们在几个流行组织的存储库上运行了 PoC,并收集了基本的元数据,如主机名、IP 地址和 DNS 名称服务器,以查看谁下载了受影响存储库中的工件。结果显示,PoC 被触发了几次,导致与一些大型公司的环境中的代码执行。
Aqua Security 建议安全团队采取以下措施: 定期检查组织的存储库,以防链接获取外部 GitHub 存储库的资源。 如果开发者更改了组织名称,确保公司仍然拥有以前的名称,此举可防止攻击者创建该名称。
根据报告,RepoJacking 问题普遍存在,应用开发团队可能对此毫不知情。Tanium 的首席安全顾问 Timothy Morris 表示,有动机和一些创造性的数字考古,任何人都能挖掘出一些过去链接到仍在被使用的有价值存储库的可能。
“这些是供应链漏洞,”Morris 解释说。“安全团队和风险管理人员必须了解所有软件及其依赖项的来源。无论是开源软件、第三方软件还是商业现成软件,了解所使用的依赖项是至关重要的。缓解措施包括:切勿直接链接,始终打包依赖项,使用包管理器,版本锁定以及锁定文件。”
这项研究突显了超越 GitHub 问题的风险,Netenrich 的首席威胁猎人 John Bambenek 表示。他指出,任何对“旧”名称的引用都可能被他人利用,如果所有引用都没有随处更改。
海外npv加速试用“在 GitHub 存储库的情况下,这可能导致远程执行或后门的安装,”Bambenek 表示。“然而,这同样适用于其他资源,例如电子邮件地址和域名,这些已经被国家行为者使用。安全退订是我们在向云资源和开源转型时并未真正考虑的问题,直到我们开始处理它,否则它将继续给我们带来更大的麻烦。”