大家好,我是校长。
昨天,在前端技术圈,又有一个事情被刷爆了,那就是:前端的开源工具包遭遇了供应链投毒事件。
别再说开源是没有国界的了,毕竟做开源的人是有国界的,只要有人的地方,就是有国界的。技术离不开人,人也离不开技术,所以,技术,开源这些东西都逃脱不了国界的限制,更逃脱不了意识形态这种东西。
具体情况,就不详细介绍了,大概就是图中描述的内容:
vue-cli 的一个深层依赖包 node-ipc 的作者以反战为名进行了供应链投毒,node-ipc 会在所有用户的桌面上都会创建一个文件来宣传作者的立场。node-ipc 在包里掺杂了一段经过混淆的代码,对俄罗斯或白俄罗斯的 IP 会进行攻击,试图覆盖用户文件。可能作者良心发现了吧,该代码现已被删除。
我记得我去年专门写文章讲过软件供应链安全和软件供应链攻击的问题。
何为软件供应链?软件供应链简单来讲就是你开发的产品其实只是供应链当中的一个环节,因为你的产品可能涉及到了硬件,公共库,第三方依赖库,还有其他软件工具,这些东西一起组成了供应链。
既然是一个供应链,其实在每一个环节都容易出现问题,就容易遭到攻击,这就叫:"软件供应链攻击" 。
"软件供应链攻击" 指的是攻击软件所依赖的代码库或服务。
最常见的供应链攻击有两种形式,一是:起一个跟依赖库或域名很容易混淆的名字;二是:向依赖库注入恶意代码。
这次通过 node-ipc 向 npm 当中注入恶意代码,就属于软件供应链攻击的行为,典型的就是投毒,使用 npm 和依赖 node-ipc 的项目都受到了影响。
不仅仅前端有这种问题,去年,本质上来说,也有类似现象,比如:
log4j2 开源项目出现重大漏洞,遭遇攻击的事件,导致很多使用 log4j2 包的 Java 项目都受到了影响。
真的是人生无常,大肠包小肠,在这个世界上只有自己的东西才是可靠的,依靠别人的都不靠谱,当冲突或者矛盾发生的那一刻,你就容易受制于人。
其实,仔细想想看,开源生态其实也挺脆弱的,没有任何安全管理机制,只能靠作者的自觉。
这次事件,再次给大家进行了提示和警醒:如何对开源生态进行管理的问题?如何防止类似事件的发生?以及拥有一个自己的开源生态体系是多么的重要。
说实话,这次俄乌冲突真的是把各种奇葩制裁,各种牛鬼蛇神都暴露出来了,让我们看到了一个人心不古的真实世界。
什么开源,什么无国界,那都是假的。
领取专属 10元无门槛券
私享最新 技术干货