JAVA 圈广受使用的日志库 Log4j 刚出问题不久,没想到 NodeJS 圈也出问题了!
就在 18 小时前,广受使用、周下载量 2000 万+ 的 NPM 库 colors
更新了 1.4.1
版本。该版本在启动时植入了恶意代码,只要安装了该版本的应用,启动即崩溃。
重现方式
- 创建一个空项目
npm install colors
- 入口点文件:
require('colors')
- 运行之
屏幕会出现 3 行 LIBERTY LIBERTY LIBERTY
,接着是一面美国国旗,然后就陷入了无尽的死循环。
程序根本无法正常启动。
影响范围
所有引用了 colors
的项目都受到波及,查看最新版 colors
源码后,发现以下恶意代码:
在其官方 Git 已有大量网友评论: github.com/Marak/color…
作者为什么要这样做,我们还不得而知,但鉴于其每周 2000 万+的下载量,影响面之大超乎想象。
解决方案
TSRPC 社区第一时间发现问题,并给出解决方案。
目前,TSRPC 已经移除所有 colors
相关的引用,如果您使用 TSRPC 遇到同样问题,可以尝试删除 node_modules
和 package-lock.json
后重新 npm install
。
如果你在自己的项目中引用了 colors
并导致此问题,可以回滚到上一个正常版本 colors@1.4.0
:
npm i colors@=1.4.0
有任何问题,欢迎加入 TSRPC 与 TypeScript 全栈开发交流群。