Chrome Web Store 上发布的浏览器扩展程序有其唯一的扩展程序 ID。但是,可以为任何扩展提取生成扩展 ID 的清单 ->“密钥”字段(例如通过link。使用此“密钥”,用户可以在本地创建已发布扩展的更改版本,但使用通过加载解压和修改版本的代码来获得相同的 id。
将消息从其他扩展程序或网页传递到扩展程序是通过使用extension-id作为可信标识符来完成的。如果用户从欺骗这些依赖的网页或扩展中受益,他将能够这样做。
网页无法在不依赖扩展本身的情况下知道扩展的 installType。
我希望“密钥”字段不会对上传者(开发者)以外的任何人公开可见,但显然情况并非如此。 我的问题是:
如果我可以提供任何进一步的细节,请告诉我。谢谢
我使用了以下适合我的用例的解决方法。 浏览器扩展将一些文件(如manifest.json、service-worker.js、wasm)公开为某些特定网站的网络可访问资源,该网站充当审核员。该审核员网站将在必要时获取并检查这些脚本和配置的完整性,以确保特定扩展不被修改。这适合我的用例,因为用户仅在审核员站点存在的情况下使用扩展。
chrome.runtime.getURL(path_of_resource) 无法被网站调用,但返回的路径值具有有助于绕过该问题的格式 (
chrome-extension://${extensionID}/path_of_resource
)。