Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security package-lock.json是否也意味着改善通过子资源完整性检查构建的应用程序的安全性?_Security_Npm_Package Lock.json_Subresource Integrity - Fatal编程技术网

Security package-lock.json是否也意味着改善通过子资源完整性检查构建的应用程序的安全性?

Security package-lock.json是否也意味着改善通过子资源完整性检查构建的应用程序的安全性?,security,npm,package-lock.json,subresource-integrity,Security,Npm,Package Lock.json,Subresource Integrity,我已经阅读了关于包锁.json文件的以下内容: 此文件旨在提交到源存储库中,并用于各种用途: 描述依赖关系树的单一表示形式,以确保团队成员、部署和持续集成能够安装完全相同的依赖关系 为用户提供一种工具,使其能够“时间旅行”到节点_模块的先前状态,而无需提交目录本身 通过可读的源代码管理差异,提高树更改的可见性 并通过允许npm跳过以前安装的包的重复元数据解析来优化安装过程 看 但在同一链接的另一个片段中,我看到: 完整性§ 这是此资源的标准子资源完整性 对于捆绑依赖项,不包括此项,无论其来

我已经阅读了关于包锁.json文件的以下内容:

此文件旨在提交到源存储库中,并用于各种用途:

  • 描述依赖关系树的单一表示形式,以确保团队成员、部署和持续集成能够安装完全相同的依赖关系
  • 为用户提供一种工具,使其能够“时间旅行”到节点_模块的先前状态,而无需提交目录本身
  • 通过可读的源代码管理差异,提高树更改的可见性
  • 并通过允许npm跳过以前安装的包的重复元数据解析来优化安装过程

但在同一链接的另一个片段中,我看到:

完整性§

这是此资源的标准子资源完整性

  • 对于捆绑依赖项,不包括此项,无论其来源如何
  • 对于注册表源,这是注册表提供的完整性,或者如果没有提供完整性,则是shasum中的SHA1
  • 对于git源,这是我们从中克隆的特定提交哈希
  • 对于远程tarball源,这是基于文件的SHA512的完整性
  • 对于本地tarball源:这是一个基于文件SHA512的完整性字段

通过链接到标准子资源完整性(SRI),我发现了以下内容:

1.1。目标

  • 对第三方服务的妥协不应自动意味着对包含其脚本的每个站点的妥协。内容作者将拥有一种机制,通过该机制,他们可以指定对加载内容的期望,这意味着,例如,他们可以加载特定的脚本,而不是任何碰巧具有特定URL的脚本

所以我想知道为什么在NPMJS文档中的package lock.json描述中没有提到/列出安全目的。 就我个人而言,我喜欢使用package-lock.json来提高我的应用程序的安全性(通过仔细检查已锁定的实际依赖项,并在对我的package.json进行一些更改的同时将锁定文件签入我的VCS repo,以防止任何被篡改的依赖项进入我的应用程序).
但也许我遗漏了一些东西,由于某些原因,锁文件不能用于我上面解释的安全目的