使用 PureScript 安装程序在 npm 包的依赖项中检测到恶意更改

取决于带有 PureScript 安装程序的 npm 包 确定 当您尝试安装软件包时出现的恶意代码 纯脚本。 恶意代码通过依赖项嵌入 从 cwd 或 npm 加载 и 速率图。 值得注意的是,具有这些依赖项的包的维护是由带有 PureScript 安装程序的 npm 包的原作者进行的,直到最近他还在维护这个 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

添加评论