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

新的前端 npm 包投毒事件

  CHTuring ·
Chanzhaoyu · 2023-01-05 19:11:27 +08:00 · 35007 次点击
这是一个创建于 469 天前的主题,其中的信息可能已经有所发展或是发生改变。

起因: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

第 1 条附言  ·  2023-01-05 21:03:57 +08:00
更新:作者在本站,现已将 npm 上 published 记录删除
第 2 条附言  ·  2023-01-06 11:09:21 +08:00
引用 #84 的总结

“基本上捋清楚了,这个 作者自己建的一些诸如"chalk-next"的库是用来检测授权的,作者在自己的收费项目里引用这个包,引用后会上报密钥信息,如果是没花钱就使用的话会被这个包检测出来然后报复姓删除文件。简单来说就是个报复后门。
结果由于起名太过敏感,"-next"一般用于大版本更新,于是有好心人(个人认为提 PR 的可能只是路人,跟作者无关)出于更新包的目的在其他开源项目中提 PR 更新包,也就出现了这次的“投毒”事件。
总之这个作者这个做法实在是太 LOW 了,挺恶心。”
222 条回复    2023-12-01 11:29:36 +08:00
1  2  3  
xxccxx
    101
xxccxx  
   2023-01-06 11:46:59 +08:00
coldmonkeybit
    102
coldmonkeybit  
   2023-01-06 11:49:03 +08:00
非常离谱
hsfzxjy
    103
hsfzxjy  
   2023-01-06 11:51:30 +08:00 via Android
@Jooooooooo pip 包也会被投毒,Hacker News 经常能看到
FanError
    104
FanError  
   2023-01-06 12:07:17 +08:00
@msojocs 看这功能,像是删除开发环境的代码?
daolanfler
    105
daolanfler  
   2023-01-06 12:11:38 +08:00
建议去 issue 看看,https://github.com/toeverything/AFFiNE/issues/676 太离谱了
ChrisFreeMan
    106
ChrisFreeMan  
   2023-01-06 12:19:08 +08:00
hisaya
    107
hisaya  
   2023-01-06 12:30:09 +08:00
哈哈,在知乎上还刷到了这个框架找人刷的好评
Cyshall
    108
Cyshall  
   2023-01-06 12:34:27 +08:00
@hex2en #98 大概说的啥? issue 已经被删了
xycc
    109
xycc  
   2023-01-06 12:35:32 +08:00
issue 删了,说了啥
CHTuring
    110
CHTuring  
OP
   2023-01-06 12:37:59 +08:00
@xycc
@Cyshall

质问他的包为什么会被他们用在项目( AFFiNE )里
xrr2016
    111
xrr2016  
   2023-01-06 12:39:02 +08:00
这人真的好脑残啊
ExplodingFKL
    112
ExplodingFKL  
   2023-01-06 12:39:37 +08:00   ❤️ 11
jiangzm
    113
jiangzm  
   2023-01-06 12:46:38 +08:00
@chu1204505056 垃圾、恶心
royzxq
    114
royzxq  
   2023-01-06 13:04:19 +08:00   ❤️ 2
这人真脑残啊, 可是就这样的脑残也能骗到钱, 傻子还是多啊。

还是 yyx 赏饭吃了属于是
Hidetodong
    115
Hidetodong  
   2023-01-06 13:05:56 +08:00
真就是 Vue 是 MIT 协议啊,不然有他这种逆天
g1eny0ung
    116
g1eny0ung  
   2023-01-06 13:09:32 +08:00   ❤️ 1
在 GitHub 上提供了一些证据,把他给举报了, 希望能有用。
nzbin
    117
nzbin  
   2023-01-06 13:12:12 +08:00
为什么 vue 生态经常出现一些离谱事?其它框架( e.g. angular 、react )怎么没有呢。。。😑
jamosLi
    118
jamosLi  
   2023-01-06 13:18:27 +08:00   ❤️ 15
@nzbin 117 因为尤雨溪本人就是事儿逼
ciaoly
    119
ciaoly  
   2023-01-06 13:22:27 +08:00 via Android
@nzbin 其他框架的话,估计因某两国战争的原因应该也会有不少。大概只是在中文互联网上不太🔥而已?
Felldeadbird
    120
Felldeadbird  
   2023-01-06 13:27:43 +08:00
开源项目要吃饭没问题,但是如果用这种下三滥的手段去吃饭,真的影响开源圈子的口碑。
Chad0000
    121
Chad0000  
   2023-01-06 13:28:07 +08:00
做产品还是要有底线的,这种事情越多,就越少人使用华人做的产品:没办法相信你的人品。
HuskyYellow
    122
HuskyYellow  
   2023-01-06 13:28:17 +08:00
@ntnyq 去年 5 月份,他还整个小号去掘金刷, 当时我换公司了,掘金上的公司名称没换。

@ersic 当是从掘金上看到的我公司名称,去企查查搜的。

@gaoryrt 我还行,当是都换公司了。那家公司也挺有名气的,作者在那个沸点更嫉妒了。还问我是不是高升了。淦~
HuskyYellow
    123
HuskyYellow  
   2023-01-06 13:28:58 +08:00
@molvqingtai 不清楚,走火入魔了吧。
HuskyYellow
    124
HuskyYellow  
   2023-01-06 13:30:18 +08:00
@hex2en 这个被删了。 有截图吗?
HuskyYellow
    125
HuskyYellow  
   2023-01-06 13:32:04 +08:00
@g1eny0ung 举报不掉的,当是这个库在 v2 也是有过被喷的,都说去举报,但是项目还在。
patrickyoung
    126
patrickyoung  
   2023-01-06 13:45:12 +08:00 via iPhone
@HuskyYellow #125 并不是。可以举报的,尤其人多了之后 gh+npm 双重核查,带好分析和证据,证明违反 ToS ,存在恶意行为,很快就下了,最快的一个 gh 官方用了几个小时就处理了
xiaoshan5733
    127
xiaoshan5733  
   2023-01-06 13:51:31 +08:00
没有底线,删除项目的操作确认恶心
HuskyYellow
    128
HuskyYellow  
   2023-01-06 13:54:25 +08:00
@patrickyoung 估计按照那个作者的尿性,就算举报掉了,也是换个名在把代码传上去。没办法韭菜太多了。
horou
    129
horou  
   2023-01-06 13:59:58 +08:00
@Jooooooooo 从你这两个问题就能看出,你技术栈应该挺窄的
christin
    130
christin  
   2023-01-06 14:22:54 +08:00
这个项目在站内讨论老多了,https://www.v2ex.com/t/797159 ,之前还发帖道歉,让人联系他,前 500 每人给 1-5 块……
Cyshall
    131
Cyshall  
   2023-01-06 14:34:27 +08:00
@christin #130 看完了,如果这些事都是一人所为,那真的是太牛逼了
Macolor21
    132
Macolor21  
   2023-01-06 14:37:06 +08:00
@Jooooooooo #30 后端也有,但是不是个人投毒类的,而是 log4j 这种 bug 。另外搞后端的可能稳重点。。。
mercury233
    133
mercury233  
   2023-01-06 14:40:35 +08:00
引用之前我对「什么样的闭源开发者能获得你的信任?」的回复:
> 没有充分条件
> 但有个必要条件是不欠银行几百万
falcon05
    134
falcon05  
   2023-01-06 14:45:24 +08:00
说实话,这个人真是我在 v 站见过最恶心的开发者
googleaccount
    135
googleaccount  
   2023-01-06 15:03:10 +08:00
这人 Github 上写着还是微软的?
zjsxwc
    136
zjsxwc  
   2023-01-06 15:04:30 +08:00   ❤️ 1
https://github.com/toeverything/AFFiNE/commit/14507d0fc0d608611afd076bbb88f252933665b9

就是开源项目 AFFiNE 里有人把 package.json 里依赖的 `"chalk": "^4.1.2",` 改成了 `"chalk-next": "^6.1.5",`
然而 chalk-next 是这个作者自己用于防盗版的,里面有检测盗版后的删代码的逻辑,
所以用 chalk 的人,误用了 chalk-next ,就被“投毒”了。。
WasteNya
    137
WasteNya  
   2023-01-06 15:05:43 +08:00
@googleaccount 我还可以写 谷歌 呢(手动狗头)
WasteNya
    138
WasteNya  
   2023-01-06 15:07:53 +08:00
@googleaccount 鉴定为 臭不要脸
yanue
    139
yanue  
   2023-01-06 15:08:07 +08:00
真的好恶心
starqoq
    140
starqoq  
   2023-01-06 15:26:33 +08:00
让我来,都怪 nodejs 的代码是明文的,要是编译一下就不会有人发现了。
感觉 nodejs 全责。作者一点责任都没有,又不是它逼着你们用。
est
    141
est  
   2023-01-06 15:29:40 +08:00
https://twitter.com/chu1204505056/status/1611238594194333698


作者:「我都住上别墅开上保时捷了」
yuanchao
    142
yuanchao  
   2023-01-06 15:29:55 +08:00   ❤️ 19
我是《实名抵制 vue-admin-beautiful 》这篇文章的作者,没想到过了这么久这个帖子又火了。
我补充一下我的经历,在发完帖子后一个星期,我的手机号收到了大量的垃圾短信,当时我就知道可能是谁干的,但是已经不想再追究了,后面持续又被电话轰炸,一堆的电话打过来,干什么的都有,什么公司注册、学历提升、贷款等等,但是没有确切的证据,也不敢瞎说,后面过了一个月之后才平静了下来
yuanchao
    143
yuanchao  
   2023-01-06 15:31:02 +08:00
因为 V2EX 在谷歌的权重都比较高,在搜索 vue-admin-beautiful 的时候那篇帖子的排序比较高,所以可能影响别人赚钱了
charexcalibur
    144
charexcalibur  
   2023-01-06 15:32:18 +08:00
@yuanchao 卧槽 这个人也太烂了吧
g1eny0ung
    145
g1eny0ung  
   2023-01-06 15:40:38 +08:00
@HuskyYellow 顺手 block ,然后也顺手就 report 了。楼上也说了一下,举报多了可能就会给下架掉了,我是选的有恶意代码的一个选项,希望 GitHub 给点力吧。🙌🏼
lanpong
    146
lanpong  
   2023-01-06 15:40:38 +08:00
abvatous
    147
abvatous  
   2023-01-06 15:40:45 +08:00
@christin #130
我看完了,如果是同一个人做的,我感觉也太牛逼了
lanpong
    148
lanpong  
   2023-01-06 15:41:23 +08:00
拖欠工资给笑死了
abvatous
    149
abvatous  
   2023-01-06 15:42:01 +08:00
@Cyshall #131 +10086
googleaccount
    150
googleaccount  
   2023-01-06 15:43:29 +08:00
@WasteNya 牛 流量被他玩的死死的 为了赚点钱真的是脸都不要了
wpei
    151
wpei  
   2023-01-06 15:48:48 +08:00
@charexcalibur 从打电话给别人公司老板举报员工摸鱼就能看出来了🤣
yuanchao
    152
yuanchao  
   2023-01-06 16:00:49 +08:00
@charexcalibur #144 互联网犯罪没有成本,这个作者最起码的底线都没有,所以做出来啥事情都很正常
skadi
    153
skadi  
   2023-01-06 16:07:46 +08:00
惊了.还有这样的.
Bigglesworth
    154
Bigglesworth  
   2023-01-06 16:33:45 +08:00
啥?拖欠工资还这么卖命,还是为这么个垃圾玩意卖命,真是活雷锋。上万家公司狗都不信,你 star 数就 1w 多,哦,用你产品的都有上万家公司,人均一家公司是吧,都是一个人即公司是吧。这和那些成功学大师有啥区别,多少多少名人来上我的课,听懂掌声。
HuskyYellow
    155
HuskyYellow  
   2023-01-06 16:36:36 +08:00
@wpei 刚才还在推上跟我杠呢,估计喷他的人多了。装死了。
matrix67
    156
matrix67  
   2023-01-06 16:54:57 +08:00
duan602728596
    157
duan602728596  
   2023-01-06 16:59:08 +08:00
@googleaccount Teams 上搜不到这个人
longgediyi999
    158
longgediyi999  
   2023-01-06 17:00:46 +08:00
😅 😅 😅 😅 绝了
badmarillo
    159
badmarillo  
   2023-01-06 17:09:22 +08:00
@lanpong 演技一流
Jooooooooo
    160
Jooooooooo  
   2023-01-06 17:13:20 +08:00
@horou 我的意思是, 公司里的 java 项目, 依赖的包基本都是 apache 这种.
hellodigua
    161
hellodigua  
   2023-01-06 17:17:25 +08:00
@zjsxwc 那他取的名字也是挺恶心的,这么容易误导人
brucedone
    162
brucedone  
   2023-01-06 17:27:26 +08:00
真是依托答辩,换着花样恶心人,delay no more
blanu
    163
blanu  
   2023-01-06 17:38:13 +08:00 via iPhone   ❤️ 5
我对该疑似恶意软件作者的精神状态表示担忧,极有可能患有严重人格分裂障碍、边缘型人格障碍、认知障碍等,建议向专业的心理咨询师寻求帮助
zhaol
    164
zhaol  
   2023-01-06 17:46:17 +08:00
我比较好奇什么样的公司会付费那个 vue-admin-beautiful 项目,那不就是个整合 UI 库吗?还是我没体验到他的核心功能?
这种项目买回来了,不一样还是要前端开发业务代码的么?为什么不直接要前端用那些知名的 ui 库自己写?
没看懂
coolzjy
    165
coolzjy  
   2023-01-06 18:40:11 +08:00
@zhaol 你看,玩不明白下沉市场你就没办法像人家一样赚钱。
ragnaroks
    166
ragnaroks  
   2023-01-06 18:42:22 +08:00
@zhaol “工作室”定位的公司或组织没有专业前端,非专业产品经理可以用这种东西快速做出可互动原型。
shijingshijing
    167
shijingshijing  
   2023-01-06 18:43:32 +08:00
@HuskyYellow 给老板打电话属实没想到。。。 太厉害了。
zhaol
    168
zhaol  
   2023-01-06 18:48:06 +08:00
@coolzjy 害,挣点打工钱就知足了。这些东西确实不如别人懂
flybluewolf
    169
flybluewolf  
   2023-01-06 19:00:03 +08:00
中国人不骗中国人! github 上还是远离吧
stardew
    170
stardew  
   2023-01-06 20:11:45 +08:00
这人的骚操作笑死
HuskyYellow
    171
HuskyYellow  
   2023-01-06 21:17:27 +08:00
@shijingshijing 得亏前老板不错,当是好聚好散,这个人不打逆风仗的,在推上,人多之后就装不是本人了。慢慢喷的多了也不回话了。真是给山东人丢人啊。好奇他底下的韭菜们真实是啥样的。
HuskyYellow
    172
HuskyYellow  
   2023-01-06 21:18:26 +08:00
@starqoq 他还特意转码了,他真的,我哭死。
HuskyYellow
    173
HuskyYellow  
   2023-01-06 21:30:43 +08:00
@est 真牛比应该是把余额亮出来。把自己家照片全亮出来,吹牛逼谁都会,之前 layui 那阵,那个开发者闲心也没这么多事。
HuskyYellow
    174
HuskyYellow  
   2023-01-06 21:35:16 +08:00
@jiangzm 这个点不到它的,borisliu 这个是新马甲,之前这个人说了太多言论,不如上面道歉帖子下面骂人,让人一顿扒,换马甲了。
kobezone
    175
kobezone  
   2023-01-06 21:36:48 +08:00 via Android
这种垃圾 公开投毒
HuskyYellow
    176
HuskyYellow  
   2023-01-06 21:54:21 +08:00   ❤️ 3
@CHTuring 楼主经过有人证实,
https://twitter.com/pengx17/status/1611243051640582144
新年第一个笑点,
CokeMine
    177
CokeMine  
   2023-01-06 22:08:44 +08:00
@IvanLi127 看起来这个 chalk-next 很久以前就被引入了。估计这个贡献者以为这是个 typo 或者忘改了就提了个 PR 。毕竟可能以为 chalk-next 是 chalk 的新分支,也不知道 chalk-next 有毒
HuskyYellow
    178
HuskyYellow  
   2023-01-06 22:21:08 +08:00
@CokeMine 对 当时提 pr 的贡献者,也在推上发了“尴尬”。 其实 beautiful 作者原来就有先例,只是这回影响到别的开源项目了。估计也想蹭蹭名。
HuskyYellow
    179
HuskyYellow  
   2023-01-06 22:22:16 +08:00
@shijingshijing 妈的,我也没想到,心眼这么小。得亏当时离职 2 月了。我俩杠了半小时。
lsp666
    180
lsp666  
   2023-01-06 22:33:35 +08:00
之前看 ui 挺好看的,有一点心动想买,原来作者心眼这么小,建议直接把项目源码泛滥
cnbatch
    181
cnbatch  
   2023-01-06 22:48:45 +08:00
@HuskyYellow 为了“防盗版”,直接把 Key 公开了出来,这种智商实在令人难以理解
cnbatch
    182
cnbatch  
   2023-01-06 22:50:29 +08:00
@HuskyYellow #179
充分证明摸鱼的其实是他而不是你,而且他还恶人先告状
看得出他的精神状态、心理健康很有问题
HuskyYellow
    183
HuskyYellow  
   2023-01-06 23:17:36 +08:00   ❤️ 1
@cnbatch #182 都去年的事了,而且最开始其实我是友善讨论的,从设计上,若依等带前后端的其实更适合开发者。它这个属于团队内前端技术能力或资源没那么充足的情况下的一种选择,说完人直接急了,驴唇不对马嘴,又说自己大厂,又说月入 10 个的。笑死我了。

#181 从代码来看,估计它没想到有人会在其他项目中用这个,基本算是个乌龙事件。也许是它设计的框架的使用者不具备这种排查的能力。确实可见一斑。说实话我从未在 v2 某个帖子这么高强度冲浪。真就是眼看他起朱楼,眼看他宴宾客,眼看他楼塌了!
flyqie
    184
flyqie  
   2023-01-06 23:34:15 +08:00 via Android
@HuskyYellow #176

如 twitter 上所说,确实应该提个 pr 修一下删除不了文件的 bug ,不然很影响这个包的效果啊~

作者也是牛逼,想害人都因为自己疏忽没害成,服了服了。
mikewang
    185
mikewang  
   2023-01-07 00:11:11 +08:00
@blanu
人格...分裂? 有点害怕😨
https://twitter.com/chu1204505056/status/1611257420407529473
「你知道的还挺多 我学哥是怎么得罪你了吗 他确实是 x 学院的老师 你要不要打个电话投诉一下」
「确实是这家公司 我没说我叫初志鑫啊 我真的是个女生呀」
mikewang
    186
mikewang  
   2023-01-07 00:16:03 +08:00
现在一想,多重人格确实自带推广效果,可以模拟出不同的人去给自己的产品好评。
或许这也不算刷 star ,而是我每个独立的人格在给项目点赞 ;)
E1n
    187
E1n  
   2023-01-07 02:23:28 +08:00 via Android
前端这么会玩啊
hhacker
    188
hhacker  
   2023-01-07 08:07:09 +08:00 via Android
这个瓜,保熟吗?:)
投毒真的是件非常恶劣的事,就算不投毒,只是用反盗版手段删用户电脑的文件,我觉得也挺恶劣的
mcone
    189
mcone  
   2023-01-07 10:00:52 +08:00
后排吃瓜,这人在程序员圈屈才了
daysv
    190
daysv  
   2023-01-07 10:29:33 +08:00
vue-admin-beautiful 这种一眼就是辣鸡的项目, 还真有人用啊
wpei
    191
wpei  
   2023-01-07 10:40:58 +08:00
@HuskyYellow 我也去推看了,哈哈哈哈,笑死🤣
heng1025
    192
heng1025  
   2023-01-07 11:08:34 +08:00
@IvanLi127 我只是刚好克隆一下项目,发现跑不了,才注意到依赖和引用不符,顺手修改下,然后才知道投毒的事情
IvanLi127
    193
IvanLi127  
   2023-01-07 11:11:56 +08:00 via Android   ❤️ 1
@heng1025 对不起,我草率了😭
CHTuring
    194
CHTuring  
OP
   2023-01-07 11:37:37 +08:00
@heng1025 该不会那个 PR 是你提的吧,哈哈哈哈
lambdaq
    195
lambdaq  
   2023-01-07 11:50:22 +08:00
@CokeMine 是的。其实事情真像就这么简单。投毒是投毒,引入错误的包是另外一件事。
lambdaq
    196
lambdaq  
   2023-01-07 11:52:13 +08:00
ihciah
    197
ihciah  
   2023-01-07 12:11:00 +08:00 via iPhone
@est 以当事人的风格,要是真买了保时捷 v 站得有《我凭借 xxx 开上了保时捷》《 xxx 的成功之路》。。
Whyoo
    198
Whyoo  
   2023-01-07 12:16:39 +08:00
关键是这种垃圾拉低了软件从业者的形象,建议国家把这个纳入个人征信。让这种低级下流的人不能再混。
ahsjs
    199
ahsjs  
   2023-01-07 14:28:03 +08:00
话说不是可以锁版本吗,不会一直用最新的吧
Mexion
    200
Mexion  
   2023-01-07 17:10:19 +08:00
@zhaol 同好奇,公司里前端水平再差也不至于一个后台管理也写不出来吧,写不出来 github 上开源免费的也是大把,什么 antdpro ,vue-element-admin 不是拿过来就可以直接用吗
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1015 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.