1
chrawsl 2022-10-22 11:25:52 +08:00
pypi 包版本号一样不给传的
|
2
charlie21 2022-10-22 11:27:14 +08:00
恶劣结果已经消除,faker.js 已经被社区挽救回来了啊
|
3
edis0n0 OP @charlie21 #2 那 npm 社区有采取什么措施防止(其它作者)这种情况再次发生了吗,现在不是大公司的 npm 包都不敢装了
|
4
moen 2022-10-22 11:35:41 +08:00 1
NuGet 是上传了就不能改,连删除都不允许
|
6
statumer 2022-10-22 11:51:15 +08:00 via iPhone 2
C++很有效地预防了包管理器引入依赖投毒的问题,因为 C++就没有包管理器。
npm 有 lock 机制所以供应链投毒顶多只影响开发阶段。 如果有更进一步的需求你可以维护一个私有 npm registry ,只存你信任的包版本。只不过每次升级社区依赖版本都要人工审核。 |
8
DeWjjj 2022-10-22 11:54:10 +08:00 1
每个版本更新都等三月再用。
|
9
statumer 2022-10-22 11:56:00 +08:00 via iPhone
这让我想到,你可以开一个公司,公司提供一个收费的 npm registry ,这个 npm registry 上所有的包都是你让员工人工审核过的无毒代码,名字可以叫 trusted registry 。用你这个公司的 registry 的用户要按流量和按月订阅付费。
|
10
statumer 2022-10-22 12:04:13 +08:00 via iPhone 1
@edis0n0 首先,这和同版本号没有一毛钱关系。社区开发者上传一个 minor version release 就行了。在产物构建和部署阶段,有 lock 机制所以和版本号没有关系。
其次,2014 年 2 月以后 npm 不允许上传同版本号。 |
11
learningman 2022-10-22 12:20:25 +08:00
pypi 上一堆只差一个字符的投毒。
|
12
MiketsuSmasher 2022-10-22 12:33:36 +08:00
pypi 上也有不少包在里面下毒,包括但不限于偷本地证书、偷 token 、偷密码……
https://www.bleepingcomputer.com/news/security/10-malicious-pypi-packages-found-stealing-developers-credentials/ |
13
otakustay 2022-10-22 12:35:07 +08:00
npm 也是不允许覆盖同版本的,但很多开发者没有用 package-lock ,导致新版本会被装上去
|
14
eason1874 2022-10-22 12:37:34 +08:00
自己不锁版本,关作者后续更新什么事。
就算作者无恶意,只是大版本更新推出新的 API ,不兼容旧 API ,你不锁版本一样完蛋 白嫖就要有白嫖的觉悟,开源只是提供当前版本,不是提供长期支持服务 |
15
wu67 2022-10-22 12:38:13 +08:00 2
理论上来讲, 一个领域 /一个编程模式 如果要依赖三方的包进行, 那就会有这类的风险.
事实上开源只是公开源代码, 但是并没有多少人会去完整阅读它, 也没有多少人能去完整阅读它, 人的精力是有限的, 并且绝大多数开源项目都没有一个完善的技术文档、甚至有些连注释都没有, 要去理解这么多代码实在是太难了. 除非是知名社区或者商业公司像 Mozilla 微软 苹果 Linux 这样的进行背书、来搞‘官方’一点的开发生态, 其他的小团队 /个人开发者项目多少都会有风险. 而个人开发最容易造轮子的语言 /领域是哪些呢? 答案是 JS / Node / 前端. 所以生态百花齐放的, 相对的爆炸的概率就会高很多; 生态较单一、由唯一组织进行维护的, 又容易陷入一个版本跑到天荒地老的情况, 例如 Java jdk8, c 艹 9, Windows xp / 7, 典型的又不是不能用, 升级什么 |
16
Macv1994 2022-10-22 12:41:35 +08:00
所以新轮子还是过段时间再用比较好
|
17
beisilu 2022-10-22 14:03:29 +08:00
flutter 的 pub 引包也是^,所以也有类似的可能。
我使用过一个关于平台权限的包,由于当时 android 正好有新的大版本,所以那个包有更新且我自动更新了。由于我本地的 sdk 没有升级,导致不匹配然后报错。 |
18
Jooooooooo 2022-10-22 14:29:59 +08:00
没有版本控制和升级评估的吗?
|
19
SuperChenCN 2022-10-22 15:51:55 +08:00
打个广告,我司开源的一个 SCA 工具 [OpenSCA]( https://github.com/XmirrorSecurity/OpenSCA-cli
可以自己维护漏洞库或者用我们云端的库。 供应链安全是个很大的话题,希望这个工具能帮到需要的人。 [手册]( https://opensca.xmirror.cn/docs/v1/start.html) |
20
weeei 2022-10-22 22:56:36 +08:00
“其它语言的包管理器有什么预防这种行为的机制吗?”
把库 Fork 出来,只引用 fork 后的仓库。 |
21
userdhf 2022-10-23 17:24:34 +08:00
Long Live jQuery
:/doge |