为什么Chrome本身允许网站访问chrome-extension://*?

Why does Chrome itself allow websites to access chrome-extension://*?

来自 here 的文章展示了网站确定用户是否安装了特定扩展程序的方法,前提是“web_accessible_resources”(在 Chrome 的情况下)允许这样做。我的问题是为什么浏览器不自己过滤这些请求?我想到的唯一用例是对用户进行指纹识别。

扩展的作者有意在其 manifest.json 中列出了此类可访问资源。这是扩展程序用来向网页添加 UI 或 font/image 等的功能。

仅由于 Chrome(和基于 Chromium 的浏览器)的实施不佳,才可能进行指纹识别,最终将在 ManifestV3 中 fixed,因此扩展可以设置 use_dynamic_url

Firefox WebExtensions 不受影响,因为 Firefox 使用每台机器唯一的 UUID,more info.