V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CHS
V2EX  ›  分享发现

供应链投毒后,我们的选择还剩下哪些?

  CHS · 2024-07-11 08:50:22 +08:00 · 37738 次点击
这是一个创建于 418 天前的主题,其中的信息可能已经有所发展或是发生改变。

前言

从早前的 LNMP 、OneinStack 到 XZ Utils ,再到现在的 Staticfile 、BootCDN ;供应链攻击总是让人猝不及防。纵观这些被攻击的项目,往往都是无处不在,经常被大家所使用,但是却并没有给提供者带来什么收入。 在突然有一天,提供者感到疲惫不堪,却又迫于用户们的压力无法关停服务的情况下,突然有新的组织/个人来帮助一起进行开发或提供服务,甚至是直接的现金收购/服务赞助;在这种情况下,接受帮助自然是首选的方案。 我认为建立有效的捐助途径不失为缓解这一问题的良方,正如 AlmaLinux 、RockyLinux 或是 cdnjs 、jsdelivr 一样,这些服务背后都有着可靠的企业长期提供捐助承诺,也帮助项目不断成长和有效地提供服务。

序幕

和 WDCP 、LNMP 、OneinStack 一样,这次的 Staticfile 、BootCDN 、Polyfill 事件也是背后指向同一个组织[[1]]。更进一步的研究表明这些组织似乎会恶意攻击其他提供类似服务的供应商,同时采取接触洽谈来并入攻击目标。 在这种做法下,曾经由七牛云提供服务的Staticfile.org被易手,而原先由个人提供服务、由又拍云提供接入服务的BootCSS也同样被易手。 但是这些背后的交易在事件发生前却没有人进行公开,也许是原来的提供者厌倦了日复一日付出却看不到回报的生活,也许是这些组织瞒天过海许下了虚假的承诺,让原本积累了大量用户的基础服务成为了这些组织用来攻击用户们的利刃。

探究

大多数关于这次攻击的报道集中于一个星期之前,然而事件的开始却远早于这个时间。一年以前,V2EX 社区就有用户发文表示 BootCSS 的静态资源被投毒[2]。 通过查阅记录可以发现,BootCSS.com 由王赛于 2012 年底批量注册,建站初期主要提供的是 BootStrap 介绍和交流[3,4,5]。于此同时进行批量注册的还有 golaravel.com 等一系列技术栈的中文网,猜测是想使用站群方式来进行项目文档的本地化,同时积累受众用户。 域名批量注册备案 在 2013 年十一月初,BootStrap 中文网上线了 OpenCDN 加速服务,由又拍云赞助,提供 cdnjs 的国内镜像[6]。 静态资源加速服务上线 又拍云提供赞助 也许是由于用户的增长又拍云难以承担高额的成本,又或者是又拍觉得收益无法 Cover 成本,这段关系一直持续到了 2017 年年底[7]。自此之后的一段时间,提供服务的 CDN 便开始快速变更,从白山云到京东云,最终到了 10 月份由于账单压力或是其他原因出现了大面积的服务中断[8]。 又拍云服务中断 在恢复后,原先的服务开始由猫云提供,自此开始 BootCDN 的服务出现了一些不连续的中断事件[9]。 提供商变更为猫云 2019 年 3 月、10 月、2020 年 1 月陆续出现小规模的中断,尽管如此,但是在接下来的几年时间中,猫云一直为 BootCDN 提供加速服务,只是加速域名从cdn.bootcss.com更换为了cdn.bootcdn.net;而于此同时百度静态资源公共库则彻底停止了服务。 百度静态资源公共库停止服务 时间来到 2022 年,在 1 月份经历了中断后,2 月份猫云或许是基于和又拍云同样的原因停止了赞助,服务商也从此开始变更为了极兔云[10]。 服务商变更为极兔云 或许是由于极兔云本身是融合 CDN 服务,与上一家同样类型的赞助商服务相冲突的原因,BootCDN 发布公告表示将下线cdn.bootcss.com域名。 BootCDN 公告 在此期间,jsDelivr 的备案被关停、解析被污染,从此基本断绝了在中国大陆的使用。

梦醒

2023 年 4 月份,BootCDN 的三个关联域名[bootcdn.net,bootcdn.cn,bootcss.com]ICP 备案变更为郑州紫田网络科技有限公司,同时域名注册商也从阿里云转入腾讯云,由此揭幕了噩梦的来临[11]。 备案及注册商变更 2023 年 6 月份,开始有用户陆续发现部分静态资源内存在投毒行为[12]。 用户开始发现投毒行为 即便到现在,投毒行为仍在继续,大量用户反馈存在资源被投毒[13]。 持续的投毒行为 自此 BootCDN 这个拥有十多年历史的国内静态资源加速服务彻底沦为了攻击者的工具,恶意代码随意被嵌入无数正在使用的网站中。而由于 BootCDN 历史久远,以至于许多生产环境甚至都不知道他们曾经引入了该服务。而这样的攻击相信还会继续持续下去,直到大家渐渐意识到...又或是仍旧...

巧合

无独有偶,原本由七牛云提供服务的 Staticfile CDN 于 2023 年 10 月进行了备案信息变更和注册局转移[14]。 Staticfile 备案变更 Staticfile 域名转移 两个关联域名staticfile.orgstaticfile.net被转入河南泉磐网络科技有限公司。 而先前 BootCDN 所转入的公司名称为郑州紫田网络科技有限公司,两者同为河南省郑州市的相同类型公司。而先前Ze-Zheng Wu所发现的几个域名由统一组织控制高度符合[15]。 通过天眼查查询可知紫田科技旗下知名的一个产品为51.La站点统计平台。 紫田科技旗下产品 通过 Bing 搜索不难发现在 2023 年集中出现大量使用该统计平台遇到劫持的案例。 51.La 劫持 通过天眼查对紫田科技股东徐征进行查询,发现其曾担任郑州帝恩爱斯网络科技有限公司法定代表人及高管,也曾担任河南云打包网络科技有限公司高管和股东。 曾任 DNS.La 法人 而 Staticfile 域名持有公司河南图网信息技术有限公司的法人申石磊同时任职郑州帝恩爱斯网络科技有限公司法定代表人。 申石磊实际控制企业 而 Staticfile 的域名注册商商中在线也与紫田科技关联的公司存在着说不清道不明的关系。 自此可以确定这两个原本由不同云厂商所赞助的静态资源加速服务已经被同一组织所控制,与上述Ze-Zheng Wu的调查一致。 看似似乎这只是一个名不见经传的小公司所为,然而这只不过是挡在云层前的迷雾。 通过查阅可以发现郑州紫田网络科技有限公司总经理李跃磊同时担任河南亿恩科技股份有限公司股东。

李跃磊任职信息 通过天眼查透视链可以查看到企业彼此之间的关联信息。 故事到这里似乎就结束了,然而还有收购 polyfill 服务的那家公司Funnull需要进行调查。通过查询域名注册和备案信息可以发现背后的公司为南京妙彩文化传播有限公司 这家公司的主营业务则是为博彩网站提供国内优化 CDN 服务,与上述的劫持行为不谋而合。

答案

这就像一张巨大的关系网,串联起了利益链中的彼此。每一家公司都看似运营者合规可靠的服务,背后进行的确实见不得人的勾当。

郑州紫田网络科技有限公司
商中在线科技股份有限公司
河南亿恩科技股份有限公司
南京妙彩文化传播有限公司
河南图网信息技术有限公司
河南云打包网络科技有限公司
北京新网互联软件服务有限公司
郑州帝恩爱斯网络科技有限公司

镇痛

从来没有什么疼痛能够有效缓解,更何况是这种绝症。 目前最为可靠的同类服务为字节跳动静态资源公共库 你可以将以下地址进行修改

cdn.bootcss.com
cdn.bootcdn.net/ajax/libs
cdn.staticfile.net
cdn.staticfile.org

替换为

//阿里云
lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M
//金山云
lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M
//白山云
lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M
//华为云
lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M

或者你可以尝试其他的提供商

//360 奇舞团
https://lib.baomitu.com/
//zstatic.net 又拍云赞助
s4.zstatic.net/ajax/libs
//7ED
use.sevencdn.com/ajax/libs
//Web 缓存网
cdnjs.webstatic.cn/ajax/libs
//晓白云
sf.akass.cn
//泽瑶网络 jsDelivr 镜像
cdn.jsdmirror.com

[1]https://www.bleepingcomputer.com/news/security/polyfillio-bootcdn-bootcss-staticfile-attack-traced-to-1-operator/ [2]https://www.v2ex.com/t/950163 [3]https://web.archive.org/web/20121206014141/http://www.bootcss.com/ [4]https://ip.sb/whois/bootcss.com [5]https://www.icpapi.com/%E4%BA%ACICP%E5%A4%8711008151%E5%8F%B7/ [6]https://web.archive.org/web/20131103022433/http://open.bootcss.com/ [7]https://web.archive.org/web/20171230183848/http://www.bootcdn.cn/ [8]https://global.v2ex.com/t/494375 [9]https://web.archive.org/web/20190119210705/https://www.bootcdn.cn/ [10]https://web.archive.org/web/20220208201547/https://www.bootcdn.cn/ [11]https://whoisfreaks.com/tools/whois/history/lookup/bootcss.com [12]https://www.v2ex.com/t/950163 [13]https://github.com/Tencent/vConsole/issues/683 [14]https://www.icpapi.com/staticfile.net/ [15]https://x.com/mdmck10/status/1806349965733544160

153 条回复    2025-07-10 21:13:23 +08:00
1  2  
ihjk
    101
ihjk  
   2024-07-18 10:11:45 +08:00   ❤️ 1
河南人才多,支持楼主!
barbery
    102
barbery  
   2024-07-18 10:27:34 +08:00
这个事情,要怎么反应到官方的投诉渠道里去?可以发 email 投诉到工信部吗?
chipipi
    103
chipipi  
   2024-07-18 10:27:44 +08:00
支持楼主!
tags
    104
tags  
   2024-07-18 10:31:02 +08:00
吃瓜
q218946
    105
q218946  
   2024-07-18 10:41:11 +08:00
感谢楼主,刷新了对这些互联网公司暗地里的勾当
jimmyczm
    106
jimmyczm  
   2024-07-18 10:48:37 +08:00
支持楼主!!
ooxx2123
    107
ooxx2123  
   2024-07-18 10:48:52 +08:00
支持楼主,感谢花费精力去调查这些背后的真相。
kingsley2036
    108
kingsley2036  
   2024-07-18 10:51:13 +08:00
顶起
mmmm179
    109
mmmm179  
   2024-07-18 10:52:12 +08:00
感谢楼主!
Sor
    110
Sor  
   2024-07-18 10:53:07 +08:00
整理的很细,分析的很到位,支持,但是这种问题到底如何才能避免?
Capcom
    111
Capcom  
   2024-07-18 10:54:04 +08:00   ❤️ 3
https://www.icpapi.com/staticfile.net/
https://www.icpapi.com/bootcdn.cn/

既然有问题的域名都是在河南备案的,可以先举报到河南网信办。

https://www.hnwxw.net/

四部门制定《互联网政务应用安全管理规定》 要求防范内容篡改、攻击致瘫、数据窃取等风险

https://www.hnwxw.net/mobile/Article/12373.html

希望他们会管。

同时也可以往中央网信办发送一份,并且在给河南网信办的材料中提一下也同时往中央网信办举报了。

https://www.12377.cn/jbzn.html?tab=4

GLHF
blank0ken
    112
blank0ken  
   2024-07-18 11:02:14 +08:00
支持 LZ
blackmirror
    113
blackmirror  
   2024-07-18 11:08:00 +08:00
为 bc 服务
GeruzoniAnsasu
    114
GeruzoniAnsasu  
   2024-07-18 11:13:16 +08:00
@Livid v 站的其它 moderator 平时不太留意记不住有谁,建议设个 alias 比如 @moderators 之类的
okrfuse
    115
okrfuse  
   2024-07-18 11:15:45 +08:00
我就说嘛,每次打开 adguard 都会告警拦截
icecrack
    116
icecrack  
   2024-07-18 11:29:37 +08:00
这也是博彩网站一种攻击手法呗。
star7th
    117
star7th  
   2024-07-18 11:30:14 +08:00
追踪得那么详细,想必 lz 也是花了很多精力。支持一下。
kilvn
    118
kilvn  
   2024-07-18 11:40:19 +08:00

这些域名已经躺到我的 adg 黑名单了🤡
wysnxzm
    119
wysnxzm  
   2024-07-18 11:46:46 +08:00
@BlueSkyXN #18 不行,会说侵犯隐私
hellodigua
    120
hellodigua  
   2024-07-18 11:48:48 +08:00
支持楼主
miaomiao888
    121
miaomiao888  
   2024-07-18 13:04:24 +08:00
这帖居然又从水深火热移出来了,在这论坛也属于难得一见的操作。
Xun666
    122
Xun666  
   2024-07-18 13:09:23 +08:00
看到了,支持楼主
mrzou007
    123
mrzou007  
   2024-07-18 13:12:10 +08:00
mark, 楼主顶住
zdkk
    124
zdkk  
   2024-07-18 13:41:15 +08:00
顶起来
qingshui33
    125
qingshui33  
   2024-07-18 14:04:00 +08:00
好奇之前进了水深火热,大家是怎么访问到的
nekomiao
    126
nekomiao  
   2024-07-18 14:08:49 +08:00
@qingshui33 从他上一个帖子点进来
jy02534655
    127
jy02534655  
   2024-07-18 14:12:53 +08:00
支持楼主
CharlesRey
    128
CharlesRey  
   2024-07-18 14:16:11 +08:00
支持楼主
shenqi
    129
shenqi  
   2024-07-18 15:12:04 +08:00
看了这个帖子,然后我研究了一天,将阿里云 oss 回源地址改成了: https://cdnjs.cloudflare.com/ajax/libs/* 。跟上面提到的两个投毒站点一样的 url 。
如果实在不行,就 clone cdnjs 然后自己起一个静态资源站点再进行 oss 回源,就这样。
airbo
    130
airbo  
   2024-07-18 15:36:48 +08:00
感谢~
CHTuring
    131
CHTuring  
   2024-07-18 16:12:45 +08:00   ❤️ 2
51.la
51.la 是什么
51.la 统计
51.la 公司
51.la 网站
51.la 劫持
51LA
51 啦
我要啦

紫田网络
紫田公司
郑州紫田
商中在线
河南图网
河南云打包
郑州帝恩爱斯
南京妙彩
frogtv
    132
frogtv  
   2024-07-18 16:22:01 +08:00
宝塔有什么工具 能自动检索 网站 文件夹里 所有的 源码 有没有 代 bootcdn 关键词的文件? 我得好好搜下
dorothyREN
    133
dorothyREN  
   2024-07-18 17:40:38 +08:00 via iPhone
讲道理,这么些人就不能自己做一个吗?
DoNotSpeek
    134
DoNotSpeek  
   2024-07-18 21:05:14 +08:00
v2 和 OP 挺住,大家多多传播,让这种网络黑恶势力得到应有的惩罚
zjwch
    135
zjwch  
   2024-07-18 22:30:45 +08:00
关注一下
MooRider
    136
MooRider  
   2024-07-19 02:41:26 +08:00
@frogtv #132 用不到宝塔吧, grep 一下网站目录就可以了
mdyh
    137
mdyh  
   2024-07-19 09:03:43 +08:00
虽然看不懂,主持一下
ytmsdy
    138
ytmsdy  
   2024-07-19 11:02:12 +08:00   ❤️ 1
所以一天到晚备案,审查,到头来备了个寂寞,审了个 J
maladaxia
    139
maladaxia  
   2024-07-19 11:26:09 +08:00
@ihjk 人才
ragnaroks
    140
ragnaroks  
   2024-07-19 15:47:54 +08:00
自从开始使用 NPM 后基本没用过 <scripit src="" />
Y25tIGxpdmlk
    141
Y25tIGxpdmlk  
   2024-07-19 16:48:18 +08:00
@ssh #55 啊?这都歌功颂德上了?
DaiShu888
    142
DaiShu888  
   2024-07-20 11:30:15 +08:00   ❤️ 1
中文互联网就是这么成垃圾堆的,吃的油被投毒,上的网也被投毒。
GFW 这个适合又不干正事了。

可以来一把反向操作,把这些投毒域名主机举报给 GFW ,让 GFW 直接给屏蔽掉,魔法打败魔法,从根本上解决投毒问题。
Shiroka
    143
Shiroka  
   2024-07-21 22:43:05 +08:00 via iPhone
BootCDN 在 GitHub 上的所有库都已删除,组织也 archive 了
didilili
    144
didilili  
   2024-07-24 10:33:05 +08:00
支持楼主
ken678
    145
ken678  
   2024-07-24 16:08:34 +08:00
发了个博文 只是建议用本地 cnd 结果被 bootcdn 发邮件说我恶意诋毁他们公司名誉 真是笑死
tjysb
    146
tjysb  
   2024-07-25 15:46:43 +08:00
@ken678
我也是写了相关文章, 前些天他们找到我的个人联系方式,要求收费删帖...就很...
而且他还是自称七牛的,说文章是又拍云写的,用来抹黑他们的。。。就搞笑好不。
Desdemor
    147
Desdemor  
   2024-07-26 15:48:43 +08:00
https://cdn.staticfile.net 我们也是用的这个 真坑人啊,这居然还是备案实名的网站
flyqie
    148
flyqie  
   2024-07-27 03:31:12 +08:00 via Android
感谢分享,但是你提供的其他服务商中的后几个貌似也不是可信的大厂吧?

业务上干脆还是全扔本地算了,没辙。
CHS
    149
CHS  
OP
   2024-07-27 18:37:11 +08:00
@flyqie 目前国内已经没有大厂来提供服务了,且用且珍惜,有个人能够提供服务已经很不错了,尤其是在这项服务只会带来支付不会带来收益的情况下。360 那边已经确定后续不会更新维护了,字节跳动目前找不到负责维护的人员。
https://cdnjs.snrat.com
https://www.zstatic.net/
https://www.7ed.net/start/public-cdn.html
这是目前来看比较好的选择,同步的速度和节点都比较快。
lijia0732
    150
lijia0732  
   2024-07-30 10:54:24 +08:00
感谢分享
BlueSkyXN
    152
BlueSkyXN  
   55 天前
@Nyarime 今天发现被各 rule ban 掉了
Francklin
    153
Francklin  
   53 天前
可喜可贺!
1  2  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3230 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 11:22 · PVG 19:22 · LAX 04:22 · JFK 07:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.