制作 JavaScript 源地图 public 是否存在合理的安全问题?

Any legitimate security concern with making JavaScript source map public?

我正在使用错误跟踪软件来报告网络浏览器中发生的任何错误,但我的生产站点上的代码已缩小。因此,调试几乎是不可能的(变量名被更改等)。

我想将完整的源映射文件投入生产,以便我可以调试这些错误,但在这样做时听到了一些关于 privacy/security 的担忧。由于缩小 JavaScript 可以在没有源映射的情况下进行取消缩小和逆向工程,我想知道这是否是一个合理的问题。我所看到的只是它只会使该过程更快。

将 sourcemap 放入 public 域是否存在合法的安全问题?

唯一担心的是让别人更容易欺骗您的代码。除此之外没有安全问题。

与其他人所说的相反,它存在安全方面的问题。

你是对的,因为也可以在没有源映射的情况下分析(取消缩小等)源。如您所知,它永远不会是 100% 安全的。然而,安全是关于能力和努力,以及来自这些的风险。这是关于你的威胁模型和攻击者模型。

现实世界中的攻击者通常不会拥有无限的资源,但对您的软件的了解有限。因此,虽然严格来说没有源映射的混淆 Javascript 代码在技术上等同于实际源代码,因为它可以在客户端 运行 时进行检查,但在现实世界中存在显着差异为此所需的努力、技能和资源。

因此,虽然我一点也不提倡隐蔽的安全性,并且我坚信您的代码应该是安全的,可以抵御拥有源代码的攻击者,但在现实中情况并非总是如此,总会存在漏洞,如果源映射可用,攻击者将更容易发现它们。