基本上是什么阻止我发布一个带有任意安装脚本的NPM模块,如果安装没有在沙箱中运行,那么在npm install my-malicious-package
时窃取计算机中的所有内容?
在this article中,他们建议大多数攻击者将其恶意脚本放在pre/post
install
个钩子中。这很容易检测和过滤掉。我主要关心的是可以运行任意的软件包的实际安装。
答案 0 :(得分:0)
npm本身运行包代码的唯一方法是安装挂钩。
如果禁用安装挂钩,则在您实际将其加载到应用程序中之前,不会运行任何不受信任的代码(此时您已被清除)。