• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CHTuring
V2EX  ›  程序员

新的前端 npm 包投毒事件

  CHTuring ·
Chanzhaoyu · Jan 5, 2023 · 42306 views
This topic created in 1403 days ago, the information mentioned may be changed or developed.

起因:vue 官方转发推文( https://twitter.com/ewind1994/status/1610868861976604673 ),一个名为 chalk-next 复刻 chalk 的包文件中包含递归删除本地配置代码。

NPM 地址: https://www.npmjs.com/package/chalk-next

NPM 帐号: https://www.npmjs.com/~vabjs

作者:chu1204505056 ,为 vue-admin-beautiful 前端 Admin 项目的作者

Github: https://github.com/chuzhixin

查到 V2EX 相关贴:《实名抵制 vue-admin-beautiful 》( https://www.v2ex.com/t/793276?p=1 )

Supplement 1  ·  Jan 5, 2023
更新:作者在本站,现已将 npm 上 published 记录删除
Supplement 2  ·  Jan 6, 2023
引用 #84 的总结

“基本上捋清楚了,这个 作者自己建的一些诸如"chalk-next"的库是用来检测授权的,作者在自己的收费项目里引用这个包,引用后会上报密钥信息,如果是没花钱就使用的话会被这个包检测出来然后报复姓删除文件。简单来说就是个报复后门。
结果由于起名太过敏感,"-next"一般用于大版本更新,于是有好心人(个人认为提 PR 的可能只是路人,跟作者无关)出于更新包的目的在其他开源项目中提 PR 更新包,也就出现了这次的“投毒”事件。
总之这个作者这个做法实在是太 LOW 了,挺恶心。”
222 replies  •  2023-12-01 11:29:36 +08:00
1  2  3  
❮ ❯
oxromantic
oxromantic
Jan 5, 2023
1
https://www.v2ex.com/t/711701 看了下,躺着骗钱不香么,为啥还要投毒
molvqingtai
molvqingtai
Jan 5, 2023❤️2
2
从他的营销 vue-admin-beautiful 就感到恶心,果然丑人多作怪
xqin
xqin
Jan 5, 2023
3
https://www.npmjs.com/package/chokidar-next?activeTab=explore

搜索 thanks

不止 chalk-next 投了, 其他的一些 -next 都有, 这人真是不怕死啊, 干这种缺德事..
mokeyjay
mokeyjay
Jan 5, 2023
4
如何确定这个 vabjs 就是 chu1204505056 呢?
rabbbit
rabbbit
Jan 5, 2023
5
这个人的 github 首页的 Pinned 里为什么有 element-ui 和 vue-cli
是贡献过代码吗?
molvqingtai
molvqingtai
Jan 5, 2023❤️3
7
@mokeyjay 这个账号名下的 package 里面的部分链接 指向 vue-admin-beautiful
pokon548
pokon548
Jan 5, 2023 via Android
8
这种删代码的行为,在国内妥妥的算计算机入侵罪吧...
rabbbit
rabbbit
Jan 5, 2023
9
研究了一下,Github 只要贡献过代码,无论多少,只要合并了就能把这个项目放到自己的 Pinned 里.
不知道的还以为是作者...
h404bi
h404bi
Jan 5, 2023
10
~vabjs 下其它不少还在的包都有类似操作,吓人..

https://www.npmjs.com/package/vue-plugin-rely?activeTab=explore
PTLin
PTLin
Jan 5, 2023❤️11
11
可怜,这人生活得过的多不如意才能把删除别人文件的函数起名叫 thanks
makelove
makelove
Jan 5, 2023
12
如果真造成了损失有人报警,警察管不管,毕竟相当于实名犯罪了很好抓人
msojocs
msojocs
Jan 5, 2023
13
![W5ID3.png]( https://i.328888.xyz/2023/01/05/W5ID3.png)
如果,它的目的是出于授权检测,那就不应该放在公开站点上;
很明显,想赚钱又想白嫖免费公共服务。
ihciah
ihciah
Jan 5, 2023
14
@msojocs 这接口贴出来,怕不是要被 v 站礼仪一下。。
gitjavascript
gitjavascript
Jan 5, 2023
15
草,还有这种败类?
qeqv
qeqv
Jan 5, 2023❤️1
16
开放源代码,却又给未授权用户投毒,意义何在?
msojocs
msojocs
Jan 5, 2023
17
@ihciah 但是拿到接口不难啊,想弄的人转一下 unicode 就出来了。
WinkeyLin
WinkeyLin
Jan 5, 2023
18
@msojocs 哈哈,接口返回 302 直接删库,暂时没发现怎么触发,猜测是作者针对特定 License 留的报复后门,这种”开源项目“还真有人敢用
https://pbs.twimg.com/media/Flr0Ze0aYAIWBBs?format=jpg&name=large
ihciah
ihciah
Jan 5, 2023
19
@msojocs 233 我意思是会被 D 成天价账单
jenlors
jenlors
Jan 5, 2023
20
还有这种垃圾?
rongchuan
rongchuan
Jan 5, 2023
21
在 twitter 上看到,来 v 站一看,果然有人发了
walker001
walker001
Jan 5, 2023
22
上次被这个人恶心到我还是...现在还是...
lawler
lawler
Jan 5, 2023
23
如果你看过 TA 在 V 站营销 vue-admin-beautiful 框架,就知道作者心智属于那个群体了。
我真的是每次找前端脚手架,都”特意“避开 vue-admin-beautiful 这个框架。

从 TA 的言论不难判断出,TA 为了吃饭可能做一些极端的事情。
msojocs
msojocs
Jan 5, 2023
24
@ihciah 哈哈,我那个“弄”就是指这个“D”。
rongchuan
rongchuan
Jan 5, 2023❤️2
25
还把 vue-admin-beautiful 改名改成 vue-admin-better 了,换个马甲就以为没人认识了吗?
rongchuan
rongchuan
Jan 5, 2023❤️3
26
@rabbbit 我翻了翻,vuejs.cli 和 element 的 contributor 里没找到他。
在他自己的 github activity 里找了会儿,好不容易找到一个对 vuejs.cli 的中文文档的 pr
嗯....这也 pin 的吗?
elboble
elboble
Jan 5, 2023 via Android
27
Za
x86
x86
Jan 5, 2023❤️13
28
前端娱乐圈名不虚传
elboble
elboble
Jan 5, 2023 via Android
29
看几个 next 包都是几个月甚至十个月前最后更新的了,也就是这些危险代码已经存在很久了。
Aloento
Aloento
Jan 5, 2023 via Android
30
笑死,这人 8 行
Jooooooooo
Jooooooooo
Jan 5, 2023❤️1
31
疑问: 为什么很少听说后端第三方包投毒?
sakuraSou
sakuraSou
Jan 5, 2023 via Android
32
事比女一个
IvanLi127
IvanLi127
Jan 6, 2023 via Android
33
推里截图那个这提 pr 的 heng1025 是 chu1204505056 的走狗么?
learningman
learningman
Jan 6, 2023
34
@Jooooooooo #31 也就这几天的事,pytorch-nightly 也被投毒了
cslive
cslive
Jan 6, 2023 via Android
35
@Jooooooooo 后端都是用 apache 之类组织的包,很少会用个人的包
learningman
learningman
Jan 6, 2023
36
@rabbbit #9 以前甚至只要提过 PR 就能 pin 了,都不用合并
现在应该是合并了才行
ZRS
ZRS
Jan 6, 2023 via iPhone
37
够得上破坏计算机信息系统罪了
Jooooooooo
Jooooooooo
Jan 6, 2023
38
@cslive 这就引出另外一个问题, 为啥前端总用个人开发的包.
Sendya
Sendya
Jan 6, 2023 via Android
39
这人之前好像来骂过我
patrickyoung
patrickyoung
Jan 6, 2023 via iPhone
40
也请各位保留证据,向 npm 和 gh 都发投诉 report abuse ,让这种人更少骗人。
tramm
tramm
Jan 6, 2023
42
我居然 star 了他的项目...
Geo200
Geo200
Jan 6, 2023
43
前端娱乐圈名不虚传
hronro
hronro
Jan 6, 2023
45
6 ,都人肉出来了
wangxiaoaer
wangxiaoaer
Jan 6, 2023
46
年纪大了,已经听不懂你们在说什么。

按我的理解投毒是跑到别人的地盘里下毒,用户以为自己用的是信任的类库,结果这类库被第三方篡改,但是这种情况不太可能吧,需要获取到别人 npm 包的控制权。

如果是自己开发的包,里面做一些危险操作,这叫哪门子投毒啊???
YR1044
YR1044
Jan 6, 2023
47
“立党”还给这人打过广告,成分复杂
https://www.zhihu.com/question/423592827
crysislinux
crysislinux
Jan 6, 2023 via Android❤️2
48
@wangxiaoaer 这人把正常的包 fork 一下加毒,名字加个 next 然后去依赖这个正常包的项目发 PR 把别人的依赖改成他的包。这不就是投毒么。。不过一般这种 PR 不太会被合并就是了。
wangxiaoaer
wangxiaoaer
Jan 6, 2023
49
@crysislinux #48 这就是篡改用户信任的类库,但是篡改被拦截了,这也是为什么大家都普遍用知名类库的原因吧,PR 之类都有人审核。
hangbale
hangbale
Jan 6, 2023
50
@rolitter 按你发的 qq 号 我搜出来叫 初志鑫 男的 手机号 186 开头
ZoeeoZ
ZoeeoZ
Jan 6, 2023
51
这个人被挂了好久了吧
lyusantu
lyusantu
Jan 6, 2023
52
我们人多,不缺傻子的,这种善于利用舆论和喜欢引战碰瓷的人,无论怎么样都会有人进行吹捧
MiketsuSmasher
MiketsuSmasher
Jan 6, 2023
53
前端娱乐圈名不虚传
CHTuring
CHTuring
OP
Jan 6, 2023❤️1
54
@wangxiaoaer 项目后缀加 -next ,并且 README 都没改,一般人都会认为是官方包的下个大版本。作为个人 fork 一般加自己的前缀。虽然你可以这么这么命名,但是你修改代码后发到公共分发上面,性质就是恶劣的。
jinliming2
jinliming2
Jan 6, 2023 via iPhone
55
@wangxiaoaer #49 你可以看楼主贴的推特下面的回复,这个 pr 应该只是看依赖里已经有这个了,所以帮着改了下代码,实际上这个有毒的包早就在依赖树里了,项目早就被投毒污染了
rongchuan
rongchuan
Jan 6, 2023
56
@wangxiaoaer 就相当于他写了个病毒,起个跟知名包一样的名字,故意混淆视听,坑别人。如果他是出于学习的目的,完全可以在包的 README 里提及不要使用自己的包,或者干脆就别取这种名,但是他没有。
这就是纯粹的故意投毒,性质恶劣,我理解这是犯法的吧?
zw1one
zw1one
Jan 6, 2023
57
用恶心人的营销来做开源,没犯法,但该骂。为了自己赚点钱把开源两个字搞臭了,活该被抵制。
leedarmau
leedarmau
Jan 6, 2023
58
我贴个链接,更恶心
https://www.zhihu.com/question/423592827
wangxiaoaer
wangxiaoaer
Jan 6, 2023
59
@rongchuan #56 我不是说性质不恶劣,而是说如果只是在自己的包里加料,这算不上投毒。

但是楼上有人解释这个加料的包已经被作为依赖引入到了其他类库中,这就算投毒了。
abc0123xyz
abc0123xyz
Jan 6, 2023
60
不知道有没有缴税,举报一下试试?
ersic
ersic
Jan 6, 2023
61
我记得看到过这个女的项目,加 QQ 群需要付费,当时算了算,光靠加群就挣了十来万,是个人才。
0o0O0o0O0o
0o0O0o0O0o
Jan 6, 2023 via iPhone
62
@wangxiaoaer #59 https://zh.m.wikipedia.org/zh-cn/%E4%BE%9B%E5%BA%94%E9%93%BE%E6%94%BB%E5%87%BB

一般就是这个意思,就算没成功,伪装、发布、PR 的行为也叫投毒
oppoic
oppoic
Jan 6, 2023❤️1
64
点了上面一些链接看了下,我有不同的感想:
1 )这个作者技术应该还可以,毕竟做出来了东西;
2 )头脑也还可以,能想到这么玩(褒义贬义自行理解)

就这两点就比普通程序员强多了
xuanyuanaosheng
xuanyuanaosheng
Jan 6, 2023
65
个人觉得还是努力为开源生态做贡献吧,作者的确很取巧,但是投毒的确不合适。
Dockerfile
Dockerfile
Jan 6, 2023
66
@YR1044 这不叫打广告吧。。这叫挂人嘲讽
jeodeng
jeodeng
Jan 6, 2023
67
人不要脸天下无敌,饭还是这些人恰得香啊
Rache1
Rache1
Jan 6, 2023
68
@makelove 不是什么大案要案,基本不可能追究,除非这段代码被上到了珠三角的 Gov 站点并且实际影响到了;删除代码的行为可能已经构成了:破坏计算机系统
Oktfolio
Oktfolio
Jan 6, 2023❤️15
69
初志鑫初步判断为男性,楚芝馨只是其人妖名。

初志鑫为“烟台知行网络科技有限公司”高管,该企业由初翠玉个人独资。vue-admin-beautiful 的支付宝收款人是初翠玉。
ZeroDu
ZeroDu
Jan 6, 2023
70
提一个:看见关闭 issue 的项目就要谨慎一点
Rache1
Rache1
Jan 6, 2023
71
@cslive 后端也有不少社区提供的包呐,主流语言基本都有包仓库,基本上都是 0 门槛就能 publish
Oktfolio
Oktfolio
Jan 6, 2023
72
可以尝试举报偷税漏税

初翠玉这个名字具有年代特色,很可能是其母亲,也就是可能是单亲家庭,当然也不排除是姊妹
lpbname777
lpbname777
Jan 6, 2023
73
可惜不能报警
Oktfolio
Oktfolio
Jan 6, 2023
74
@ersic 他是人妖
vone
vone
Jan 6, 2023
75
chalk-next 作者 chu1204505056 回应:

https://s1.ax1x.com/2023/01/06/pSAc23d.png
IamUNICODE
IamUNICODE
Jan 6, 2023
76
以我的经验,多半男的,或者说,生理男性
workman2021
workman2021
Jan 6, 2023
77
作者更新了
```text
从未想过写一个付费项目要承担如此大的恶意,面对盗版,面对恶意分享,不写脚本删除盗版代码,等着那些盗版无限分享吗,我不后悔,知乎那个叫雪碧的从一开始就攻击我们,到现在也没停过,我谢谢你了,希望你过得幸福
```
https://github.com/chuzhixin/chalk-next
NoDocCat
NoDocCat
Jan 6, 2023
78
点开 GitHub Profile, 显示 Blocked, 满意离开
ZhaokunZhang
ZhaokunZhang
Jan 6, 2023❤️21
79
当时这个作者在掘金上推荐,我说 ruoyi 比较合适,就跟我一顿阴阳怪气,后来还给我老板打电话说我摸鱼了。也挺小心眼的。
ntnyq
ntnyq
Jan 6, 2023
80
@HuskyYellow 这也太搞笑了
learningman
learningman
Jan 6, 2023 via Android
81
@IamUNICODE 这行 95%的都是男的,你等于说废话
ersic
ersic
Jan 6, 2023
82
@HuskyYellow 他怎么知道你老板电话的。
gaoryrt
gaoryrt
Jan 6, 2023
83
@HuskyYellow 哈哈哈哈哈还挺有闲心
liuhuihao
liuhuihao
Jan 6, 2023❤️8
84
基本上捋清楚了,这个 作者自己建的一些诸如"chalk-next"的库是用来检测授权的,作者在自己的收费项目里引用这个包,引用后会上报密钥信息,如果是没花钱就使用的话会被这个包检测出来然后报复姓删除文件。简单来说就是个报复后门。
结果由于起名太过敏感,"-next"一般用于大版本更新,于是有好心人(个人认为提 PR 的可能只是路人,跟作者无关)出于更新包的目的在其他开源项目中提 PR 更新包,也就出现了这次的“投毒”事件。
总之这个作者这个做法实在是太 LOW 了,挺恶心。
tf2
tf2
Jan 6, 2023
85
@HuskyYellow 这。。。
Cyshall
Cyshall
Jan 6, 2023
86
@HuskyYellow #79 太骚了
liuhuihao
liuhuihao
Jan 6, 2023
87
@HuskyYellow 这个绝了
CS50
CS50
Jan 6, 2023
88
xx 鑫
18661855024 [山东青岛 中国联通]
gaoryrt
gaoryrt
Jan 6, 2023
89
有没有可能是增加自己曝光度的一种方式,不管怎么说至少他火了
molvqingtai
molvqingtai
Jan 6, 2023
90
@HuskyYellow 这人怕不是精神上有点问题
CHTuring
CHTuring
OP
Jan 6, 2023
91
@gaoryrt 这个人的项目我没用过,最开始知道他是因为 Github 项目的 About 里面写了什么穿耐克还是什么的不许用他的项目啥的,当时只是觉得恶心,没想到一直以来都是恶心。
badmarillo
badmarillo
Jan 6, 2023
92
@sakuraSou 很明显是个男的啊。。。
404bird
404bird
Jan 6, 2023
93
cao ,我司项目用的就是这傻逼框架,当初我还想这破玩意,咋被选中的。。。
badmarillo
badmarillo
Jan 6, 2023
94
@ersic 是男的
PEax
PEax
Jan 6, 2023❤️3
95
学校: 山东职业学院-20140404313*
1516903037* 山东 济南 移动


打码打码(狗头)
muzuiget
muzuiget
Jan 6, 2023
96
@rolitter 卖个破软件这么多“追究相应法律责任”这种“恐吓”语句,是我就扭头就走。
mywaiting
mywaiting
Jan 6, 2023
97
世界之大,无奇不有,真叹为观止
kkkkkkhalil
kkkkkkhalil
Jan 6, 2023❤️2
98
liuhuihao
liuhuihao
Jan 6, 2023
99
@hex2en 逗,这个作者自己起了一个极其容易引起歧义的包名,发到 npm 公共仓库,然后 readme 也没注明不要引用,这不是坑人吗?居然还舔着脸去问别人为什么不小心引用了他的包。。。
moonrailgun
moonrailgun
PRO
Jan 6, 2023
100
https://github.com/toeverything/AFFiNE/issues/676
最基本的英文社区说英文都不会了可还行
1  2  3  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   576 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 187ms · UTC 19:08 · PVG 03:08 · LAX 11:08 · JFK 14:08
♥ Do have faith in what you're doing.