Firefox 是否允许扩展程序绕过普通网页的 CSP?
Does Firefox allow extensions to bypass a normal web page's CSP?
我有一个带有 CSP 的网页,如下所示:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://d2wy8f7a9ursnm.cloudfront.net https://cdn.polyfill.io https://browser-update.org https://static.zdassets.com https://ekr.zdassets.com https://mysite.zendesk.com wss://mysite.zendesk.com https://*.zopim.com https://*.googleapis.com 'unsafe-inline' 'unsafe-eval'">
出于隐私原因,在此 post 中,我将公司名称替换为 mysite
。另请注意,使用 unsafe-eval
是因为我有一些遗留代码需要它进行模板化。
我的网站包括错误监控错误,我发现了一个用户的特定错误,面包屑显示 XmlHttpRequest 调用可疑域,听起来像广告软件 and/or 恶意软件。还有一些控制台日志字符串 "swbtest loaded".
尽管用户可能禁用了 Firefox 设置 security.csp.enable
,但我认为这种可能性很小。这位用户是我通过电子邮件联系过的客户,她似乎不是那种会这样做的人。
我的问题是:
(1) 这看起来像 Firefox extension/plugin 吗?
(2) 如果是这样,它是如何绕过我的 CSP 的?还是 unsafe-eval
允许扩展访问?
(3) 为 CSP 添加 connect-src 规则是否有帮助?
谢谢。
扩展根本不关心页面 CSP。他们可以 运行 与您的代码一起编码(他们不受页面 CSP 的约束),或者在页面 JavaScript 上下文中注入任意代码。
此外,扩展有足够的能力动态覆盖页面 CSP(例如通过重写响应 headers),但它们通常不需要它。
作为网站作者,您无法采取任何措施来防止扩展程序干扰您的网页。
不幸的是,这意味着您收到的报告中 "noise"。
值得注意的是,"swbtest" 似乎与 Selenium 浏览器自动化/测试套件有关。
我有一个带有 CSP 的网页,如下所示:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://d2wy8f7a9ursnm.cloudfront.net https://cdn.polyfill.io https://browser-update.org https://static.zdassets.com https://ekr.zdassets.com https://mysite.zendesk.com wss://mysite.zendesk.com https://*.zopim.com https://*.googleapis.com 'unsafe-inline' 'unsafe-eval'">
出于隐私原因,在此 post 中,我将公司名称替换为 mysite
。另请注意,使用 unsafe-eval
是因为我有一些遗留代码需要它进行模板化。
我的网站包括错误监控错误,我发现了一个用户的特定错误,面包屑显示 XmlHttpRequest 调用可疑域,听起来像广告软件 and/or 恶意软件。还有一些控制台日志字符串 "swbtest loaded".
尽管用户可能禁用了 Firefox 设置 security.csp.enable
,但我认为这种可能性很小。这位用户是我通过电子邮件联系过的客户,她似乎不是那种会这样做的人。
我的问题是:
(1) 这看起来像 Firefox extension/plugin 吗?
(2) 如果是这样,它是如何绕过我的 CSP 的?还是 unsafe-eval
允许扩展访问?
(3) 为 CSP 添加 connect-src 规则是否有帮助?
谢谢。
扩展根本不关心页面 CSP。他们可以 运行 与您的代码一起编码(他们不受页面 CSP 的约束),或者在页面 JavaScript 上下文中注入任意代码。
此外,扩展有足够的能力动态覆盖页面 CSP(例如通过重写响应 headers),但它们通常不需要它。
作为网站作者,您无法采取任何措施来防止扩展程序干扰您的网页。
不幸的是,这意味着您收到的报告中 "noise"。
值得注意的是,"swbtest" 似乎与 Selenium 浏览器自动化/测试套件有关。