Security package-lock.json是否也意味着改善通过子资源完整性检查构建的应用程序的安全性?
我已经阅读了关于包锁.json文件的以下内容: 此文件旨在提交到源存储库中,并用于各种用途:Security package-lock.json是否也意味着改善通过子资源完整性检查构建的应用程序的安全性?,security,npm,package-lock.json,subresource-integrity,Security,Npm,Package Lock.json,Subresource Integrity,我已经阅读了关于包锁.json文件的以下内容: 此文件旨在提交到源存储库中,并用于各种用途: 描述依赖关系树的单一表示形式,以确保团队成员、部署和持续集成能够安装完全相同的依赖关系 为用户提供一种工具,使其能够“时间旅行”到节点_模块的先前状态,而无需提交目录本身 通过可读的源代码管理差异,提高树更改的可见性 并通过允许npm跳过以前安装的包的重复元数据解析来优化安装过程 看 但在同一链接的另一个片段中,我看到: 完整性§ 这是此资源的标准子资源完整性 对于捆绑依赖项,不包括此项,无论其来
- 描述依赖关系树的单一表示形式,以确保团队成员、部署和持续集成能够安装完全相同的依赖关系
- 为用户提供一种工具,使其能够“时间旅行”到节点_模块的先前状态,而无需提交目录本身
- 通过可读的源代码管理差异,提高树更改的可见性
- 并通过允许npm跳过以前安装的包的重复元数据解析来优化安装过程
- 对于捆绑依赖项,不包括此项,无论其来源如何
- 对于注册表源,这是注册表提供的完整性,或者如果没有提供完整性,则是shasum中的SHA1
- 对于git源,这是我们从中克隆的特定提交哈希
- 对于远程tarball源,这是基于文件的SHA512的完整性
- 对于本地tarball源:这是一个基于文件SHA512的完整性字段
- 对第三方服务的妥协不应自动意味着对包含其脚本的每个站点的妥协。内容作者将拥有一种机制,通过该机制,他们可以指定对加载内容的期望,这意味着,例如,他们可以加载特定的脚本,而不是任何碰巧具有特定URL的脚本
但也许我遗漏了一些东西,由于某些原因,锁文件不能用于我上面解释的安全目的