我们有一个HTML文件,其内部粘贴了一个缩小的JSlibrary,其中包含许可头和版本号。
我们的客户端报告说这是一个安全风险(https://www.owasp.org/index.php/Top_10-2017年_A6-安全_错位),因为库的版本号是公开的。
如果我们使用一个外部JS文件,并且只从HTML使用标记链接到该文件,这个问题还会被报告吗?
发布于 2019-08-14 05:33:47
如果我们使用一个外部JS文件,并且只从HTML使用标记链接到该文件,这个问题还会被报告吗?
这取决于(总是如此)。当您按照如下所述的方式执行时,它很可能会:
<script src="https://external.party.com/mylibrary.js"></script>原因是您无法控制加载在您的网站上的库。如果远程主机以某种方式被破坏,恶意代码可能被注入到用户的浏览器中。
防止这一问题的办法有两种:
服务
从外部网站下载库,并从您自己的web服务器加载它。确保下载的库是安全的(使用最新的稳定版本)
子资源完整性(SRI)确保托管在第三方服务器上的资源没有被篡改。这是通过生成远程库的哈希值来完成的。

上面的图像是您应该如何使用HTML代码生成的哈希。如果这是您想走的路线,请查看Mozilla的网站,了解如何生成哈希和如何配置内容安全策略的进一步信息。
https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_完整性
https://security.stackexchange.com/questions/215279
复制相似问题