我最近目睹了一个损坏的软件包版本实例被发布到npm注册表。我发现有关此事件的处理方法(即重新发布该程序包)的问题很多,但有关“什么原因导致它首先发生?”的问题很少?
就我而言(不幸的是,我不能分享-私人组织范围等),用npm pack
拉动tarball显示文件确实不完整/损坏,并且与预期的校验和不匹配。
npm publish
有效负载包括带有每个SHA-512校验和的dist.Integrity
字段,以及每个软件包上载。考虑到其封闭源代码的性质,这可能很难回答-但是NPM注册中心是否会对其进行任何验证,以在使软件包版本可供使用之前检查上传的内容是否确实与校验和相符?
谢谢!