近期大家发现 node-ipc 包以反战为名进行 npm 供应链投毒,事态愈演愈烈,每一个技术人可能最终都逃不过zzzq白左的毒手。
注:npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
注:npm 供应链投毒指的是,利用 npm 包管理工具的供应链投毒攻击,这种攻击最早可追溯到2016年,不断有攻击者尝试通过 npm、Pypi 等包管理工具分发恶意软件。
姑且不说某些开源软件违背“技术中立”原则,动辄封这个禁那个,毕竟只是封禁而已,一码在手,天下我有。但是,普通技术人员为了政治目的,在 npm 包里“投毒”(如下图所示,它先是试图针对俄罗斯和白俄罗斯的 IP,尝试覆盖当前目录、父目录和根目录的所有文件,后是往桌面上写个 WITH-LOVE-FROM-AMERICA.txt 的宣言文件):
他们这么做,就像为了表达莫名其妙的观点(如下图所示)而在超市食品中大面积投毒(注:1985年日本怪盗21面相投毒案)一样,就像为了不为什么而在草莓里埋针(注:2018年澳大利亚草莓藏针案)一样,没有道德底线,无聊,愚蠢,让技术人耻与之为伍。
再举一个例子,前一阵子,color 和 faker 库的开发者 Marak Squires,为了莫名其妙的原因,在自己开发的项目里“自杀式投毒”,导致任何使用“color”库的应用程序,在控制台上都会无休止地输出非 ASCII 字符乱码,这种技术人员就是典型的白左垃圾。
近几年来,脚本语言社区因管控薄弱、攻击成本低成为软件供应链攻击的重灾区,已经出现很多起严重的软件源投毒事件,比如2021年11月npm官方仓库的coa和rc投毒事件,脚本语言社区真的要好好想想接下来该怎么做,才能遏制这种势头。
NCSU 大学的 Nusrat Zahan 对开源软件供应链做了研究,他发现了六个关键指标,表明 NPM 程序包可能会被恶意人员攻陷,其中两个核心要素如下所示:
①数千名包维护人员的域名已过期,攻击者可购买过期域名并借此劫持维护人员的帐户;
②约2%的程序包中包含安装脚本。安装脚本在程序包安装前、中、后自动运行。这些安装脚本如遭攻陷,则可导致攻击者在主机设备上执行恶意活动,如传输用户数据、下载恶意 payload、执行反向 shell 或删除文件和目录。
以2021年11月阿里云安全对一起 npm 投毒攻击的报道为例,该恶意包就会在安装时赋予自身安装包内的恶意脚本可执行权限,并执行该恶意脚本(如下图所示):
而该恶意脚本会启动反弹 shell 连接指定服务器地址,该服务器可以远程下发指令控制受害机器(如下图所示):
说明供应链投毒的后果可能是非常危险的,想想看,在中美更大危机爆发的时候,你的服务器因为 npm 投毒而沦陷……沦为肉鸡的后果。
再强调一遍,白左的zzzq愈演愈烈,还不知道会有人跟进放什么大招,毕竟中国在西方媒体的宣传里是给俄罗斯站队的,大家做 JS/node/npm 的时候当心一点吧……
更多供应链安全信息:《2021中国软件供应链安全分析报告》
声明:本文来自老兵笔记,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。