新的前端 npm 包投毒事件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
CHTuring
V2EX    程序员

新的前端 npm 包投毒事件

  CHTuring
Chanzhaoyu 2023 年 1 月 5 日 39865 次点击
这是一个创建于 1184 天前的主题,其中的信息可能已经有所发展或是发生改变。

起因: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 》( t/793276?p=1

第 1 条附言    2023 年 1 月 5 日
更新:作者在本站,现已将 npm 上 published 记录删除
第 2 条附言    2023 年 1 月 6 日
引用 #84 的总结

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

搜索 thanks

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

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

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

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

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

但是楼上有人解释这个加料的包已经被作为依赖引入到了其他类库中,这就算投毒了。
abc0123xyz
    60
abc0123xyz  
   2023 年 1 月 6 日
不知道有没有缴税,举报一下试试?
ersic
    61
ersic  
   2023 年 1 月 6 日
我记得看到过这个女的项目,加 QQ 群需要付费,当时算了算,光靠加群就挣了十来万,是个人才。
0o0O0o0O0o
    62
0o0O0o0O0o  
   2023 年 1 月 6 日 via iPhone
@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 的行为也叫投毒
gold2022
    63
gold2022  
   2023 年 1 月 6 日   1
oppoic
    64
oppoic  
   2023 年 1 月 6 日   1
点了上面一些链接看了下,我有不同的感想:
1 )这个作者技术应该还可以,毕竟做出来了东西;
2 )头脑也还可以,能想到这么玩(褒义贬义自行理解)

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

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

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

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


打码打码(狗头)
muzuiget
    96
muzuiget  
   2023 年 1 月 6 日
@rolitter 卖个破软件这么多“追究相应法律责任”这种“恐吓”语句,是我就扭头就走。
mywaiting
    97
mywaiting  
   2023 年 1 月 6 日
世界之大,无奇不有,真叹为观止
kkkkkkhalil
    98
kkkkkkhalil  
   2023 年 1 月 6 日   2
liuhuihao
    99
liuhuihao  
   2023 年 1 月 6 日
@hex2en 逗,这个作者自己起了一个极其容易引起歧义的包名,发到 npm 公共仓库,然后 readme 也没注明不要引用,这不是坑人吗?居然还舔着脸去问别人为什么不小心引用了他的包。。。
moonrailgun
    100
moonrailgun  
PRO
   2023 年 1 月 6 日
https://github.com/toeverything/AFFiNE/issues/676
最基本的英文社区说英文都不会了可还行
1  2  3  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2538 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 57ms UTC 09:59 PVG 17:59 LAX 02:59 JFK 05:59
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86