GoEdge “官方”投毒与供应链投毒恐有关及解决方案

12次阅读

共计 3052 个字符,预计需要花费 8 分钟才能阅读完成。

在奶昔论坛上曾转载过 54yt 的一篇 《供应链投毒后,我们的选择还剩下哪些》,于是昨天大半夜有许多 GoEdge 用户表示,自己部署的 CDN 会插入一段来自 https://cdn.jsdelivr.vip/jquery.min-3.7.0.js 的代码,其中内容不寒而栗:

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

图片来源:https://www.nodeseek.com/post-138160-1

前言

从超哥(其开发者)写出 GoEdge 至今,版本更迭到 v1.3.9。这套 CDN 系统被许多 CDN 商家采用,毕竟它开源又免费,却在今年 4 月被请去喝茶后,goedge.cn 便重定向至 goedge.cloud,而 goedge.cn 的备案号被注销、转出,甚至 whois 主体发生变化。

 原实名信息:刘祥超
原 ICP 备案信息:刘祥超
现实名信息:莫坤秀
现 ICP 备案信息:已注销

而超哥在 QQ 群的最后消息为 2024 年 5 月 20 日。

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

之后 5 月 24 日发布的包中则带有上文提到的 cdn.jsdelivr.vip 的内容于节点(edge-node)的二进制文件中,一直到今日发版的 v1.4.1。

供应链关系

查了一下 cdn.jsdelivr.vip 的 cname 指向,猜测和方能那伙人是同一伙

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

关于做了什么,hostloc 上面也有:https://hostloc.com/thread-1327962-1-1.html

可以说 js 代码跳 h 站就是这群人干的。

被卖了吗

有群友发现 GoEdge v1.3.9 的编译环境为 go1.21.10,与目前最新版的环境不同。故引发大家对 GoEdge 被出售的猜测。

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

而超哥用于销售商业版的淘宝店铺关闭,转而要客户前往 Telegram 找 @GoEdge 进行购买。据群友所描述,客服态度怠慢。

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

而唯一的联系方式就是 Telegram 的群组和客服,在 v1.4.0 发版时,特地强调了“过墙”的功能

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

而过墙是什么,想必不用多说了

临时发版

有群友进行二进制分析,发现 edge-node v1.4.1 版本二进制文件中存在上述恶意代码。但 GoEdge 客服在其 Telegram 群中表示“不信谣不传谣”后开始踢人

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

随后对 v1.4.1 重新编译,发布了无毒版本的 GoEdge v1.4.1

GoEdge“官方”投毒与供应链投毒恐有关及解决方案

由图可以发现,这段 https://cdn.jsdelivr.vip/jquery.min-3.7.0.js 的引用在新的版本已被去除。(在此建议作者发布时,写好 MD5、SHA1、CSC32 信息,以免导致大家误会)

修复业务

由于许多人在使用该产品的时候,时不时跳 h 站。 若您是 2024 年 5 月 24 日之后安装的 v1.3.9(或更高版本),请立即更新。 虽然刚刚官方发了 v1.4.1 的修正版本, 一旦信任崩塌就难以重建 。这里提供一个可行的恢复方案。

重装主控

  1. hosts 屏蔽 goedge.cloud 和 goedge.cn 防止程序更新
echo "127.0.0.1 goedge.cloud" | sudo tee -a /etc/hosts > /dev/null
echo "127.0.0.1 goedge.cn" | sudo tee -a /etc/hosts > /dev/null
cat /etc/hosts
  1. 回退主控(edge-admin)版本至 v1.3.9
# x86_64 (amd64)
edge-admin upgrade --url=https://dl.naixi.net/cdn/goedge/goedgecn/edge-admin-linux-amd64-plus-v1.3.9.zip
# aarch64 (arm64)
edge-admin upgrade --url=https://dl.naixi.net/cdn/goedge/goedgecn/edge-admin-linux-arm64-plus-v1.3.9.zip
  1. 删除 api-node/deploy 目录内的 dge-node-linux-amd64-v1.3.9.zip 和 dge-node-linux-arm64-v1.3.9.zip 文件,然后在目录下执行
# x86_64 (amd64)
wget -O edge-node-linux-amd64-v1.3.9.zip https://dl.naixi.net/cdn/goedge/goedgecn/edge-node-linux-amd64-plus-v1.3.9.zip
# aarch64 (arm64)
wget -O edge-node-linux-arm64-v1.3.9.zip https://dl.naixi.net/cdn/goedge/goedgecn/edge-node-linux-arm64-plus-v1.3.9.zip
  1. 主控节点重装即可(一般到这步就修复完啦)

节点修复

若上述第 4 步主控节点重装过于麻烦,这边提供一键指令

适用于安装在 /root/edge-node(arm 节点请将 amd64 更改为 arm64)

rm -rf /usr/local/goedge
cd /root/edge-node
curl -L "https://dl.naixi.net/cdn/goedge/goedgecn/edge-node-linux-amd64-plus-v1.3.9.zip" --insecure -o edge-node-linux-amd64-plus.zip -C - -#
./edge-node/bin/edge-node stop
rm -rf ./edge-node/data
rm -rf ./edge-node/bin
rm -rf  /opt/cache
unzip -o edge-node-linux-amd64-plus.zip
./edge-node/bin/edge-node restart
rm -rf *.zip

适用于安装在 /usr/local/goedge(arm 节点请将 amd64 更改为 arm64)

rm -rf /root/edge-node
cd /usr/local/goedge
curl -L "https://dl.naixi.net/cdn/goedge/goedgecn/edge-node-linux-amd64-plus-v1.3.9.zip" --insecure -o edge-node-linux-amd64-plus.zip -C - -#
./edge-node/bin/edge-node stop
rm -rf ./edge-node/data
rm -rf ./edge-node/bin
rm -rf  /opt/cache
unzip -o edge-node-linux-amd64-plus.zip
./edge-node/bin/edge-node restart
rm -rf *.zip

结语

虽然 GoEdge 已更换主体,且官方已经发布了不带毒的版本。但我们仍要知道供应链投毒的危害。即使是免费、开源的项目也有可能成为坏项目,毕竟世界上没有免费的午餐。

希盘上的 GoEdge 存档资源:https://dl.naixi.net/cdn/goedge/goedgecn/

dl.naixi.net 上的 goedgecn 文件夹为超哥失联前所构建的最后版本,转自 DigitalVirt 的备份,即 v1.3.9。而历史版本可以在 DigitalVirt 小老板的 Google Drive 存档找到:https://drive.google.com/drive/folders/1-2JbKiNy-MWF7RLnIUIRXiT-AE37rUDx

本文转载自奶昔论坛:https://bbs.naixi.net/thread-110-1-1.html

正文完
 0