[讨论] 如何减少 Xz Backdoor 类似问题的发生

2024-03-31 17:56:48 +08:00
 xinbaoCode

不知道大家有没有看过这篇帖子关于 xz 被恶意开发者注入,导致 linux 发行版有漏洞,可 ssh 连接用户服务器?🐶 https://boehs.org/node/everything-i-know-about-the-xz-backdoor

今天早上思考了一上午这种 xz 开发者恶意投毒的问题如何解决🤔,目前想到一个方案,去中心化存储,下载别人的发布的系统(例如 linux)需要支付一笔 gas(包含保险费)费,如果有恶意投毒,那么可以要到赔偿,我们将所有知名的项目都开发一条链,允许他们发一些 NFT 等,从而可以赔偿。🐶

这些链的的合约有保险触发机制,当大家投票都认为这个项目是恶意的,那么会自动触发这个项目不停生成 NFT 直到赔偿所有用户的损失,虽然这会导致这个项目的贬值,这样就达到了对开发者约束的目的,从而让他们不得不非常谨慎 review 代码🤔,因为这次 xz 攻击,攻击者看项目方去度假了,以及测试时间不充分。🤔

大家觉得如何?🤔

9321 次点击
所在节点    程序员
76 条回复
iseki
2024-04-01 13:15:59 +08:00
改进构建系统,抛弃 M4 Makefile 这种依赖大量难懂的 shell 的方案。
你看 Gradle 虽然更复杂,但是只要你肯看代码,留这种后门是很容易发现的。但 shell 就不行了,一个 expansion 指不定变成什么样,就像 C 的 macro 一样复杂。
xinbaoCode
2024-04-01 13:36:15 +08:00
@iseki 很好的主意,从编程语言上入手去解决~🤔
xinbaoCode
2024-04-01 13:38:58 +08:00
@cr3bit 完全基于热情而无利益,对于开发者是有损的,可能哪天郁闷就删库,所以该如何解决 faker.js 这样的问题呢?🤔
xinbaoCode
2024-04-01 13:41:17 +08:00
@OldCarMan 也是个不错的 idea🫡
nuk
2024-04-01 13:49:26 +08:00
有啥好担心的,这还是源码的后门,二进制的后门都不知道多少,感觉没必要操心,别人用啥我用啥,顶多一起毁灭了。
boatrain1111
2024-04-01 14:16:30 +08:00
对对对,去中心化能解决所有问题,币圈
xinbaoCode
2024-04-01 14:52:14 +08:00
@ben666 大佬 优秀!
xinbaoCode
2024-04-01 14:52:59 +08:00
@ericFork 因为想快速解决很多知名开发者没有收益的问题🤔
xinbaoCode
2024-04-01 14:54:42 +08:00
@0o0O0o0O0o #24 好文当顶!专业!🫡
james122333
2024-04-01 15:11:10 +08:00
@iseki

m4 根本就不是 shell 调用命令任何语言工具都做的到
况且你搞错一件事 xz 的构建用的是 cmake 和 autotools
并不是纯 makefile old school makefile 是原始简单的
我倒是希望他们都用 shell 这样我可以少学很多东西
shell 本身也够强 现在太多了 基本上 gradle 这种依赖 java 非 unix 系方案就不要讲了 要选也不会选 gradle 我心裏就有 safe 的方案 不知道为什么总有人整天想把自己工作开发的複杂一套引进 不会其它东西?
bianhui
2024-04-02 08:40:18 +08:00
让你老板融资,扩大规模自己造轮子。
realJamespond
2024-04-02 13:05:23 +08:00
建议实名制,写恶意代码的直接抓起来
Lanzhijiang
2024-04-03 21:49:08 +08:00
@mokiki 嗯,刚刚也有类似的想法,就是要分析依赖链,让用户能付费。但我认为开源的结构就是分布式的,采用开源基金会这种中心化的方案可能不合适。但也许眼下,最快能实施且效率高的方案就是这个了。
Lanzhijiang
2024-04-03 21:51:57 +08:00
@mokiki 贡献一点 idea ,我认为用户也应该知道自己付出去的钱被用到哪里、有什么成果等。而且 FINF 可以鼓励用户对项目维护、贡献,这些行为也应该可以视为一种"货币"
mokiki
2024-04-04 09:38:47 +08:00
@Lanzhijiang 赞同,应该由项目管理者提供贡献值比例这样的文件。FINF 根据贡献比例值给出分成报表,用户有最终的调整权力。

现在想到的是像 Linux 内核这样的项目有不同的驱动模块,有些模块可能用户用不到,这时就需要 Linux 内核在自身运行时能给出动态的贡献值。

因为目前没有项目给出贡献比例值,只能靠外部分析。所以第一阶只能靠包管理依赖和正在运行的程序以及文件系统的读取等数据粗略地分析。
xinbaoCode
2024-04-05 14:39:56 +08:00
@Lanzhijiang #74
@mokiki #75 Great Idea! 👍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1028563

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX