我正在开发浏览器自动化工具(在 JS 级别工作)。很明显,加载外部脚本可以被视为 XSS 攻击。几个月前,只要我通过 HTTPS 提供我的 js 资源,我就可以在 Github.com 上运行我的脚本。
但这不再是这种情况,即 Github 已经为此实现了一个优雅的标准兼容障碍:
我认为这是向前迈出的一大步:我们可以向客户指定我们希望他们在我们网站的沙箱周围放置一个更安全的边界。
另一方面,它使移动平台上的选项更加受限,尽管这并不完全正确,因为完全有可能生成内置这些扩展功能的独立浏览器应用程序。不过,与浏览器扩展相比,这并不容易实现。
是否仍然可以使用(共同设计和审查的)浏览器扩展来解决这个问题?这可能会对用户体验产生什么样的影响?我希望可以进行设置,以便最终用户只需进行一次简短的一次性设置。对我来说很明显,至少谷歌正在这样做,以便通过他们的门户发布的扩展至少可以“合理地”安全地分发,我想苹果(以及最终的微软)会效仿 Safari 和 IE。我现在只对 Chrome 和 Safari 感兴趣(现在主要是 Chrome)。
如果事实证明,即使是扩展程序也受到内容安全策略的约束,我该如何编写一个可以可靠地为我操作页面的扩展程序?我很确定这不会是这样,因为这将是 Tampermonkey 之类的东西的死亡。