取决于带有 PureScript 安装程序的 npm 包
该问题是由该软件包的一位新维护者发现的,在与 purescript npm 软件包的原作者发生多次分歧和不愉快的讨论后,维护权转移给了他。 新的维护者负责 PureScript 编译器,并坚持 NPM 包及其安装程序应由同一维护者维护,而不是由外部方维护。 带有 PureScript 安装程序的 npm 包的作者很长一段时间都不同意,但后来屈服并转移了对存储库的访问权限。 然而,一些依赖项仍然在他的控制之下。
上周 PureScript 0.13.2 编译器发布了
新的维护者准备了 npm 软件包的相应更新和安装程序,在其依赖项中识别出了恶意代码。 带有 PureScript 安装程序的 npm 包的作者被解除了维护者职务,他表示他的帐户已被未知攻击者入侵。 然而,在目前的形式下,恶意代码的行为仅限于破坏软件包的安装,这是新维护者的第一个版本。 当尝试使用命令“npm i -g purescript”安装软件包而不执行任何明显的恶意活动时,恶意操作相当于出现错误消息的循环。
检测到两次攻击。 在新版本的 purescript npm 包正式发布几个小时后,有人创建了新版本的 load-from-cwd-or-npm 3.0.2 依赖项,其中的更改导致调用了 loadFromCwdOrNpm()返回流中安装所需的二进制文件列表
4 天后,在开发人员找出故障根源并准备发布更新以从依赖项中排除 load-from-cwd-or-npm 后,攻击者发布了另一个更新 load-from-cwd-or-npm 3.0.4,其中恶意代码已被删除。 然而,几乎立即,另一个依赖项rate-map 1.0.3的更新发布了,它添加了阻止加载回调调用的修复程序。 那些。 在这两种情况下,新版本的 load-from-cwd-or-npm 和rate-map 的更改具有明显的破坏性质。 此外,恶意代码进行了一项检查,仅在安装新维护者的版本时才会触发错误操作,而在安装旧版本时不会以任何方式出现。
开发人员通过发布更新来解决该问题,其中删除了有问题的依赖项。 为了防止在尝试安装有问题的 PureScript 版本后在用户系统上出现受感染的代码,建议删除 node_modules 目录和 package-lock.json 文件的内容,然后将 purescript 版本 0.13.2 设置为下限。
来源: opennet.ru