【发布时间】:2020-11-17 00:11:00
【问题描述】:
我现在正在 npm 中闲逛。我想看看使用 npm 的开发人员会面临什么样的安全风险。
我感兴趣的主要攻击类型是供应链攻击,其中开发人员或构建系统(我们可以认为只是另一个开发人员)得到了他们不期望的东西。
当我执行以下操作时,我有意想不到的 - 至少对我来说 - 行为:
npm init-
npm install xxx- 不管 xxx 是什么 - 编辑 package-lock.json 文件并更改完整性 - 例如换一个字符
rm -rf node_modulesnpm install
期待 某种抱怨安装包的哈希不匹配
实际 package-lock.json 刚刚更新
我在这里很密集吗?我希望完整性字段能够让 npm 在安装意外的东西时以某种方式发现。为什么会更新?
【问题讨论】:
-
我对@987654325@ 和
npm@6进行了测试,两次都出现EINTEGRITY错误。你正在运行什么版本的 npm,什么操作系统,你是从公共存储库还是从其他地方安装包? -
我很困惑。我现在无法复制。在开始回答您的问题后,我天真地最终使用 nvm 切换了节点版本。不幸的是,在我这样做之前我没有尝试回购,所以我不能确定切换版本(和切换回来)是否改变了行为。我会关闭帖子。除了湿件故障之外,不知道如何解释这一点:耸耸肩:
标签: npm