网站是否可以跟踪用户的 chrome 扩展程序或他们的行为?

Possibility for a website to track the user's chrome extensions, or their behaviour?

我对网站访问者的 Chrome 扩展及其作用非常感兴趣

(传出网络通信、文件保存、存储等)

有没有可能检测到这些?

没有。

那将是对隐私的严重侵犯。

最接近检测扩展的方法是检查页面的 DOM 和 JS 环境,看看浏览器是否以您没有预料到的方式修改它……但那将是要解决的问题非常广泛,因此您实际上只能通过它来寻找非常具体的效果(这就是广告拦截器所做的)。

对于某些特定的扩展,您可以通过尝试从它们加载资源来检测它们。这将测试特定的扩展,而不是发现列表。

这需要您知道扩展 ID、资源路径,并且资源必须 be in web_accessible_resources。顾名思义,这使得一些文件可以从 Web 上下文访问,因此您可以尝试加载它们。网络错误将表示它未安装(或不再具有可通过网络访问的该资源)。

同样,这需要您提前知道您要测试的扩展程序,没有可通过 Web 访问的资源的扩展程序对这种技术是不可见的。

备注:

  • Google 转换库 uses this technique 以探测是否安装了自己的扩展。
  • 如果不是,它会在 JS 控制台中为失败的网络传输生成一个令人讨厌的错误,一个你无法从 JS 代码中消除的错误——这已经够烦人的了,Chrome 最终 为这些控制台消息添加了黑名单 只是为了不碍眼。

据此,您可以推断测试一长串扩展名可能不是一个好主意。它会用错误污染你的控制台。对于预定义域上的合作扩展,there's a better way to test 它已安装。但那不是你的情况。