首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道我的子资源完整性标签(SRI)不是由恶意CDN生成的?

如何知道我的子资源完整性标签(SRI)不是由恶意CDN生成的?
EN

Stack Overflow用户
提问于 2021-02-10 04:32:18
回答 1查看 169关注 0票数 0

例如,我在Angular中了解到,在构建项目时,您可以使用以下命令自动添加子资源完整性(SRI)标记:

代码语言:javascript
复制
ng build --subresource-integrity

我的问题是,在运行该命令时,我如何知道创建的哈希不是来自恶意CDN?

我觉得这变成了一个鸡和蛋的问题,因为我可能永远不会知道?

EN

回答 1

Stack Overflow用户

发布于 2021-02-17 19:42:06

SRI保护页面中已加载资源的完整性。它可以防止此类资源的受损存储,但前提是页面本身不在该受损存储中。加载资源的页面是特殊的,因为它有机会检查SRI,几乎就像那些资源的来源是不受信任的一样,但您需要能够提供来自受信任来源的页面。

请注意,这比检测恶意CDN更有好处。SRI提供的是确保加载的资源与创建页面时要加载的资源相同。在部署到某个地方之前,可能会发生很多事情,比如CI管道中的资源,它们将在构建过程中存储在中间服务器上,复制到CDN等,SRI确保了所有这些过程的完整性,直到客户端浏览器。但同样,只要包含这些资源的页面不受影响。

换句话说,如果页面和资源一起存储在同一个CDN中,SRI将不会防止CDN的危害-当您信任CDN为您的所有内容提供服务时,它怎么可能呢?但它仍然可以防止这些文件进入CDN的管道受到危害。

编辑:我可能误解了这个问题。

NPM包是用PGP签名的,所以只要您只有可信的密钥,获取依赖项就是安全的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66126663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档