代码投毒片段Unavailable For Legal Reasons - GET https://registry.npmmirror.com/peacenotwar - [UNAVAILABLE_FOR_LEGAL_REASONS] peacenotwar was blocked,reason: security....
因node-ipc开源作者以反战之名在代码上投毒,依赖项会在桌面以及其他位置创建一个叫做“WITH-LOVE-FROM-AMERICA.txt”的文件,如果ip是来自白俄罗斯和俄罗斯,会尝试覆盖当前目录、父目录和根目录的所有文件。作者还特意新建了一个 peacenotwar 仓库来宣传他的反战理念,而刚好vue-cli有引用了node-ipc模块,导致在npm install
时出错
解决方法:
- 将package.json 文件中的node-ipc版本降低或指定,如9.2.1
- 删除node_modules / peacenotwar 这个目录
如果发现以上方法不能用,可以试下下面的办法
ec8b411143d589847e0a51fa3c15c1f.png
发现就算改 node-ipc.js 以及 删除 peacenotwar 也不行。淘宝npm镜像已经把 node-ipc 标记为 有毒有害了。所以只能强制指定前一个版本。registry.npmmirror.com (淘宝镜像)才认为是安全的
此外,Vue-cli 昨天发布了新版本5.0.2(https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md),将 node-ipc 版本锁定到 v9.2.1,用户可以直接升级。据悉,受恶意代码受影响的 node-ipc 版本为 v10.1.3 ,已经被作者删除或被 NPM 撤下,而 WITH-LOVE-FROM-AMERICA.txt 文件是由 v11.0.0 版本引入的。
前有 Node、React、pytorch、GitHub 等官网声明支援乌克兰,后有个人开发者进行供应链投毒,技术不持政治立场就是个笑话。
网友评论