论坛现已推出GoEdge的注册机,包括加密解密功能具体可看:https://bbs.naixi.net/thread-112-1-1.html
在奶昔论坛上曾转载过54yt的一篇《供应链投毒后,我们的选择还剩下哪些》
于是昨天大半夜有许多GoEdge用户表示,自己部署的CDN会插入一段来自 https://cdn.jsdelivr.vip/jquery.min-3.7.0.js 的代码,其中内容不寒而栗:
图片来源: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日。
之后5月24日发布的包中则带有上文提到的 cdn.jsdelivr.vip 的内容于节点(edge-node)的二进制文件中,一直到今日发版的v1.4.1。
供应链关系
查了一下 cdn.jsdelivr.vip 的cname指向,猜测和方能那伙人是同一伙
关于做了什么,hostloc上面也有:https://hostloc.com/thread-1327962-1-1.html
可以说js代码跳h站就是这群人干的。
被卖了吗
有群友发现GoEdge v1.3.9的编译环境为 go1.21.10,与目前最新版的环境不同。故引发大家对GoEdge被出售的猜测。
而超哥用于销售商业版的淘宝店铺关闭,转而要客户前往 Telegram 找 @goedge 进行购买。据群友所描述,客服态度怠慢。
而唯一的联系方式就是Telegram的群组和客服,在v1.4.0发版时,特地强调了“过墙”的功能
而过墙是什么,想必不用多说了
临时发版
有群友进行二进制分析,发现edge-node v1.4.1版本二进制文件中存在上述恶意代码。但GoEdge客服在其Telegram群中表示“不信谣不传谣”后开始踢人
先不要着急换,在边缘节点中执行 grep "jsdelivr.vip" /安装目录/edge-node/bin/edge-node ,即可查看自己是否中招。
随后对v1.4.1重新编译,26日中午发布了无毒版本的GoEdge v1.4.1。
由图可以发现,这段 https://cdn.jsdelivr.vip/jquery.min-3.7.0.js 的引用在新的版本已被去除。(在此建议作者发布时,写好MD5、SHA1、CSC32信息,以免导致大家误会)
修复业务
由于许多人在使用该产品的时候,时不时跳h站。若您是2024年5月20日之后安装的v1.3.9(或更高版本),请立即更新。虽然刚刚官方发了v1.4.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
echo "127.0.0.1 dl.goedge.cloud" | sudo tee -a /etc/hosts > /dev/null
echo "127.0.0.1 dl.goedge.cn" | sudo tee -a /etc/hosts > /dev/null
echo "127.0.0.1 global.dl.goedge.cloud" | sudo tee -a /etc/hosts > /dev/null
echo "127.0.0.1 global.dl.goedge.cn" | sudo tee -a /etc/hosts > /dev/null
cat /etc/hosts
- 回退主控的edge-admin和edge-api版本至v1.3.9,根据主控CPU架构选择
这边提示一下,以实际目录为主!
默认edge-admin所在位置:/usr/local/goedge/edge-admin/bin/edge-admin
默认edge-api所在位置:/usr/local/goedge/edge-admin/edge-api/bin/edge-api
# x86_64 (amd64)
edge-admin upgrade --url=https://dl.naixi.net/cdn/goedge/goedgecn/edge-admin-linux-amd64-plus-v1.3.9.zip
edge-api upgrade --url=https://dl.naixi.net/cdn/goedge/goedgecn/edge-api-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
edge-api upgrade --url=https://dl.naixi.net/cdn/goedge/goedgecn/edge-api-linux-arm64-plus-v1.3.9.zip
感谢群友星之卡比提供的api回退思路,这样api回滚后节点就不会提示版本低和一直重试升级了
- 前面提到,管理系统压缩包里面带的节点程序是晚上更新的,虽然只是换了个网址,但是仍建议使用早上的版本,所以我们执行一步替换
cd /usr/local/goedge/edge-admin/edge-api/deploy
然后,删除原有的文件
rm -rf edge-node-linux-amd64-plus-v1.3.9.1.zip
rm -rf edge-node-linux-arm64-plus-v1.3.9.1.zip
获取早上的版本
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
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
到这,主控就重装好了,不过要提醒的是,检查一下这个目录/edge-admin/edge-api/deploy
里面有没有比1.3.9更高版本的文件,有的话删掉
只是重装主控可不行,投毒投在节点啊!!!
确保已经安装curl、unzip
这边建议直接替换edge-node二进制,或是直接重装。
这里推荐Senra大佬提供的不卸载edge直接替换文件方案:(arm节点请将amd64更改为arm64)
wget https://dl.naixi.net/cdn/goedge/goedgecn/edge-node-linux-amd64-plus-v1.3.9.zip
unzip edge-node-linux-amd64-plus-v1.3.9.zip
ln -sf /usr/local/goedge/edge-node/bin/edge-node /usr/bin/edge-node
edge-node cache.garbage --delete
edge-node stop
mv edge-node/bin/edge-node /usr/local/goedge/edge-node/bin/edge-node
rm -f edge-node-linux-amd64-plus-v1.3.9.zip
sleep 5 && edge-node start
sleep 5 && edge-node status
下面代码仅适用于大佬使用,请做好数据备份再出来!!!
适用于安装在/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