假设 Firefox 或 Chrome 的扩展不请求任何WebExtensions 权限,这个扩展会造成什么危害?
或者换一种说法:没有权限的扩展程序可以执行哪些普通网站无法执行的(可能是恶意的)操作?
假设 Firefox 或 Chrome 的扩展不请求任何WebExtensions 权限,这个扩展会造成什么危害?
或者换一种说法:没有权限的扩展程序可以执行哪些普通网站无法执行的(可能是恶意的)操作?
很难找到有关这方面的信息。
默认情况下,扩展受以下内容安全策略(CSP) 的约束:
"script-src 'self'; object-src 'self';"
在这种情况下,self
关键字是指扩展包,因此他们可以访问扩展包本身包含的任何文件。这强烈表明扩展无法访问托管在其他地方的任何脚本,除非默认 CSP 被覆盖。同样,他们不能在eval
没有明确允许的情况下运行脚本。
但这实际上并不需要权限,因此,理论上,考虑到一个可能危及浏览器的自包含 JS 缺陷,没有权限的扩展程序可以执行任意代码。这是有限的好处 - 这样的缺陷可能也会在网页上起作用,因此它不符合您的要求。
基于示例 webextensions的存储库,更改特定站点的样式(例如,borderify 示例)、向用户显示的文本内容(例如 Emoji Substitution 示例)或将数据从页面复制到系统剪贴板(选择到剪贴板示例) - 剪贴板示例确实需要“访问所有网站的数据”的能力,这是由content_scripts
value隐式授予的<all_urls>
。
因此,可能会看到一些潜在的恶意行为,尽管站点似乎确实可以阻止这些行为(请参阅有关 addons.mozilla.org 禁止内容脚本的注释):
所有这些都取决于恶意行为者能够对用户将访问的页面做出合理的猜测,但如果假设用户群很大,这将变成一场数字游戏——最终可能会有人访问目标页面。