危机13小时:中国程序员,追踪 GitHub 投毒事件

摘要:2024年12月4日,夜幕降临,GitHub上空却飘来了不祥的乌云。一批神秘的“幽灵仓库”如鬼魅般出现,它们没有代码,只有病毒文件,像是黑暗中的陷阱,等待着不幸的开发者上钩。这些仓库如同被诅咒的幽灵,在GitHub上快速获得star,超过180个虚假僵尸账户四

2024年12月4日,夜幕降临,GitHub上空却飘来了不祥的乌云。一批神秘的“幽灵仓库”如鬼魅般出现,它们没有代码,只有病毒文件,像是黑暗中的陷阱,等待着不幸的开发者上钩。这些仓库如同被诅咒的幽灵,在GitHub上快速获得star,超过180个虚假僵尸账户四处散播着代码病毒。

中国程序员子墨,单枪匹马,通过大数据筛查的方式,破获了这起 GitHub 恶意软件钓鱼事件。涉及的大V在 Github 上有接近数百关注者,获得过几千 star 。同时涉及有多达 180 个虚假账号,长达 4 年的活动。

更重要的是,这些记录已被子墨上传在在区块链上,所有人都可以检验,涉事人删库也没用。

所有人都可以重走一遍这位中国程序员的侦查之旅,仔细检验每个网页备份。

自北京时间 2024.12.4 晚间6点起, GitHub 上不断出现“幽灵仓库”,仓库中没有任何代码,只有诱导性的病毒文件。当天,他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒,等待不幸者上钩。

而这一切被一位中国开发者--我收在眼底。经过几天的探测寻找,疑似找到了攻击者的真身。

幽灵仓库:没有任何代码,只有诱导性的病毒文件。它们在短时间内迅速获得大量星标(star),但实际上是为了传播病毒和进行网络钓鱼攻击。这些仓库被创建、获得高关注度后删除,然后再次创建,行为模式类似于“幽灵”,因此得名

僵尸账户:长时间不活跃或被恶意利用的账户。具体来说,僵尸账户可以是长时间没有活动迹象的账户,也可能被黑客或其他不良分子控制用于非法目的。这类账户不仅会增加平台管理成本,还可能带来安全风险。

起初,我在编写一套开源程序,用于寻找当下最早期的潜力种子项目。

源码GitHub - chmod777john/github-hunter

我曾经用它找到过一个很好的开源项目MagicQui ,在其创建还不足24小时的时候我就检测到它了。

https://GitHub - chmod777john/github-hunter: AI 发掘潜在的爆火项目GitHub - chmod777john/github-hunter: AI 发掘潜在的爆火项目/github-hunter

自此我大受鼓舞,决定每天都用我的算法搜寻一下Github+上最新创建的仓库中,看看哪些是有潜力的。这样我可以领先于官方的Github Trending榜,也能比绝大部分科技媒体更早地发现好项目。

在 12.4 的搜寻过程中,我发现了一批不太一样的仓库。

这里面的 is None 代表仓库有大量 star 记录,后来却被删库。为何有如此大量的高赞仓库会被删除呢?

起初我没在意,而在一天后,这些仓库再次出现。

就好像幽灵一样,建仓->取得高赞->删库->再次创建。

这些仓库点进去一看,都是同一种风格:声称自己是某个游戏的外挂或者 PhotoShop 破解版之类的,引导用户下载并且打开他的 exe 文件。

基本可以确定是钓鱼仓库了。所有这些仓库创建时间都非常相近,大约就是十多小时之前,而且短时间内积累到几百 star ,其背后必有高人。

钓鱼仓库:GitHub上的钓鱼仓库是指恶意创建的仓库,通常不包括任何实际代码,而是通过诱导性内容快速获得星标增加可信度,目的是欺骗用户下载执行病毒文件或恶意软件,对网络安全构成威胁。

这些攻击者是谁?我决定一探究竟。

首先查看是谁给这些仓库点了赞。

我本以为大多是最新创建的机器人账号。

出乎意料的是,这些账号的加入时间并不短。有些账号甚至是 2020 年就加入 Github 了。

4年的老号可不是说弄就弄的,如果这号是他自己的,那可真是下了血本,一个号养4年就为了这一天?

如果这号是他在黑市上买的,那说明4年前就有人开始批量养小号,也是一条很可观的产业链了。(创业都不一定能创4年呢)

无论这些号是攻击者自己养的还是在黑市上买的,成本都不低。

我开始逐个账户打开查看,坐实了一件事:这些仓库都是一伙儿的!

这个人点赞过的所有仓库,都是刚刚说的幽灵仓库!

不过个人资料卡上完全没有任何痕迹。没有粉丝,也没有关注的人,这让我们无从下手,简直一片空白。

漫漫长路

180 多个账号,我真的逐个点开来看了。其中大部分的都是纯粹的空白账户,只用来点赞。但仍然有一些是附带个人资料的。

这个账号甚至附带了个人网页和 Instagram 。

不过凡事讲究双向证明。万一这个账号是冒用小哥的信息呢?只能将其列为怀疑对象。

峰回路转

攻击者账户 follow 了谁,并不重要,因为攻击者可以冒用他人信息。真正有用的线索,应该看谁 follow 了攻击者。

踏破铁鞋无觅处,我找到了一个活人账号。

有 5 个人 follow 了这个账号!而且看他的 star 历史,可以明确他是攻击者之一。

而且该账号有真实的 Github 代码提交记录(记住这个叫 SimpleBot 的仓库)

我们来看看是谁 follow 了这个 G4tito

这两位都是大人物。看看他们的 Github 主页长啥样:

BrunoSobrino 和 elrebelde21 这两位大 V, 曾经合作过一个开源项目。

和明确攻击者做的项目是同名的!

至此,逻辑链如下:

可见 BrunoSobrino 和 elrebelde21 这两位大牛,跟攻击者 G4tito 可能是有联系的。

其实到这里基本破案了。操纵 180 多个账号是短时间内点赞和创建仓库,批量生成内容,不太可能用人工完成,应该是用 Github API自动化做的。这两位大牛和明确攻击者,做的项目都是那种 WhatsAPP 机器人,技术栈也相当吻合了。

经大佬提点,找到一个疑似线索。

挖到这些项目之后,我会写到一段文字里,传到区块链上,作为“预言”。日后我预言到的项目大火了,大家都能知道“这小伙儿眼光不错”

没想到还能挖出这些幽灵仓库来。果然是黑暗森林,第一次真切感受到有人在 Github 上从事这些社会工程学活动。

不过现在情况还算好的,这些仓库基本都是同一个风格,说明干这事儿的基本上就只有一个组织。

上面的追凶推理是推测,还没有被官方证实。

存在恶意仓库、僵尸账号,这些是实锤的。

至于实际创建者是不是 BrunoSobrino 等人,存疑。

事实:“BrunoSobrino 自称是TheShadowBrokers(一个有名的黑客团体),且他主动关注了僵尸账号。”

由这个事实能否认为他就是实控人,需要各位看官自行判断。

e/1EZ9e证据

我知道曝光之后,他们肯定会删库的,因此我已经提前把所有网页都备份到 GhostArchive 了。

我挖掘到的恶意仓库列表,也全都放在了区块链上,形成铁证。

各位看官不必信任我,请直接去查看区块链。所有记录都在里面。

事件描述:

https://link.zhihu.com/?target=https://github.com/chmod777john/ghost-repos

我发现这个攻击事件所用的工具:

【有奖调研】2024年了,开发者们过得还好吗?码客人生开启了新一轮的程序员幸福指数问卷调查,参与问卷调研:https://dworks.zhiding.cn/f/DecZmP,幸运用户还可获得50元京东卡。

来源:码客人生一点号

相关推荐