firefox - Firefox 是否允许扩展绕过普通网页的 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'">
出于隐私原因,在这篇文章中,我将公司名称替换为mysite
. 另请注意,使用unsafe-eval
是因为我有一些需要它进行模板的遗留代码。
我的网站包括 bugsnag 错误监控,我为用户挑选了一个特定错误,其中面包屑显示 XmlHttpRequest 调用听起来像广告软件和/或恶意软件的可疑域。还有一些控制台日志字符串“swbtest loaded”。
尽管用户可能禁用了 Firefox 设置security.csp.enable
,但我认为这极不可能。这位用户是我通过电子邮件发送给我的客户,她似乎不适合这样做。
我的问题是:(1)这看起来像 Firefox 扩展/插件吗?(2) 如果是这样,它是如何绕过我的 CSP 的?还是unsafe-eval
允许扩展访问?(3) 为 CSP 添加 connect-src 规则是否有帮助?
谢谢。
解决方案
扩展根本不关心页面 CSP。它们可以与您的代码一起运行代码(它们不受页面 CSP 的约束),或者在页面 JavaScript 上下文中注入任意代码。
此外,扩展有足够的能力在运行中覆盖页面 CSP(例如通过重写响应头),但它们通常不需要它。
作为网站作者,您无法阻止扩展程序干扰您的页面。
不幸的是,这意味着您获得的报告中的“噪音”。
值得注意的是,“swbtest”似乎与 Selenium 浏览器自动化/测试套件有关。
推荐阅读
- node.js - 如何使用 socket.io 支持配置 nginx 反向代理
- excel - 根据标准将列表从一张表提取到另一张表(每月使用)
- sql - T-SQL 查询运行非常缓慢
- python - 有什么方法可以忽略 Python 中的标点符号吗?
- c# - 加载统一 C# 脚本时,如何修复 VSCode 中的 IntelliSense 不起作用和 OmniSharp 错误消息?
- linker - 如何使用 gnatmake 或在 Ada 代码中将 Ada 库链接到 .adb 文件
- javascript - 单击时在一项功能中更新 URL
- java - 如何在 Java 中查找 Linux 操作系统的 UUID 和序列号
- java - SessionLocaleResolver 和 FixedLocaleResolver 之间的确切区别是什么
- ios - 如何在 Mac 上运行 Test Flight 应用程序或 .ipa 文件