发现
在今天晚上的时候,看到 NS 上发了这样的一个帖子,原帖子在这里:刚看到alist文档被投毒了
大概就是被发现了文件的分发链接变了,按道理来说,这种开源软件的二进制文件不应该由不信任的第三方进行二次分发,因为这样不安全,有可能存在篡改的风险
然后我就去看了下文档的 commit 记录:Commits · AlistGo/docs · GitHub
可以看到都是这样无实际意义的提交记录,而且大多都是 alist666 · GitHub 和 JoaHuang · GitHub 这两位的 commit
而且很奇怪的是,这两位的创建时间都非常早,基本上都只有几个月,而且仓库中没有别的任何 repo
而且他们在 repo 的提交也非常大胆,直接在 commit 上注明了是广告,提交也不是通过 pr,是直接 commit,应该是有人给了他们直接的权限
其中的有几条 commit 记录很耐人寻味
分发文件的修改
对 docker 镜像的修改
fix: 修改 docker路径 · AlistGo/docs@0685402 · GitHub
这里将原作者 xhofe
的 docker hub 仓库切换成了 alist666
的,我们不妨直接去看看这两个仓库的镜像有何区别
首先是原作者的:xhofe/alist - Docker Image | Docker Hub
之后是 Alist666 的:hub.docker.com/r/alist666/alist/
篡改者的仓库中只有一个镜像,而且还是 arm 的
我尝试将它下载到本地,它的 Layer 和原作者的镜像是一样的,还没来得及做进一步的逆向分析
甚至在两周前,就有人提出过这样的问题,但是没有得到开发者的解决:中文文档Docker镜像存在问题 · AlistGo/docs · Discussion #438 · GitHub
Desktop 版本的分发替换
Update Desktop download Url · AlistGo/docs@ae7a77d · GitHub
目前这个 oss 已经被删掉了,我也没办法通过校验 sha 来判断是否被修改,不过依然存在这种可能性,而且可能性很大
广告图链的域名发现
Update Image · AlistGo/docs@27679c8 · GitHub
使用的是 hutool.cn
这个域名,打开后台是一个 minio 的界面
hutool
这个写 Java 的应该不陌生
尝试将域名托管到 Cloudflare 可以看到其他的记录
解析到的 IP 都是国内的腾讯云,并且使用 whois 查询,也可以看到这个域名的所属是个人,出于隐私保护的原因,这里不贴出来了
总结与反思
感动啊,居然还做了中英文的不同适配
目前作者处在跑路状态,开发者集体静音,没有任何响应
值得思考的是,JoaHuang 和 alist666 对开源仓库的破坏,在很早就进行了,为什么直到现在才被发现?甚至于 docker 和 desktop 的修改,社区的响应也非常缓慢