您不能假设附加组件是安全的,“因为它托管在官方扩展库之一中”。
在这个答案中,我首先解释扩展如何最终出现在流行浏览器的扩展库中。最后,我专门为 Chrome 增加了一个部分。
商品如何在官方商店中列出?
自动更新
所有这四个库都支持扩展的自动更新。除非另有说明,否则将自动安装更新(除非用户关闭)。
Chrome扩展程序的更新会自动检查,有时还会进行人工审核。当扩展程序请求更多权限时,它们会自动禁用,直到用户确认新要求。开发人员文档提供了权限警告列表及其含义。Google 还创建了一个页面(详细信息较少)来向用户解释警告 - 请参阅应用程序和扩展程序请求的权限。
Firefox附加组件的更新是人工审核的。
对Opera扩展的更新是人工审核的。Opera 放弃了旧的扩展生态系统,并在 Opera 15 中切换到类似 Chromium 的扩展 API。在 Opera 15(Opera 12.xx 及更早版本)之前,会自动安装更新。从 Opera 15 开始,添加新权限时会禁用扩展,就像 Chromium 一样(请参阅Github 上的此评论)。
扩展库本身中托管的 Safari 扩展可能是 由 Apple 1检查,(更新到)其他地方托管的 Safari 扩展不是。从 Safari 9 开始,只有在 Apple 的扩展库中托管的扩展才能自动更新。
Internet Explorer 扩展不会自动更新,除非开发人员已构建此功能。
外部代码
如果供应商允许使用外部 JavaScript 代码,评论将毫无用处。那么,哪些画廊允许使用外部代码?
- Chrome 扩展程序可能包含外部代码。
- Firefox 和 Opera 禁止在附加组件中使用外部 JavaScript 代码。
- Safari 扩展托管在不受 Apple 控制的服务器上,因此开发人员可以自由地包含他们想要的任何内容。
- Internet Explorer 扩展通常是闭源编译的二进制文件,因此开发人员可以运行他们想要的任何代码。
隐私
许多扩展在未经用户同意的情况下收集使用统计信息。Chrome 甚至提供了关于在扩展程序中设置跟踪的教程......
铬合金
Firefox 和 Opera 在扩展平台的安全性方面做得很好。我不太信任 Chrome 网上商店,因为它不会手动审查所有扩展程序。
确保扩展程序安全的唯一方法是自己检查它。为此,我创建了“Chrome 扩展源查看器”Chrome 扩展。这个扩展允许人们在 Chrome Web Store 中查看扩展的源代码。它附带了一个代码美化器,以使其更具可读性。
首先来看一个名为 的文件manifest.json,因为它定义了扩展的功能。你看到什么可疑的东西了吗?例如,承诺向 Facebook 添加笑脸的扩展程序是否为(=每个页面的匹配模式)定义了内容脚本?不要安装扩展。*://*/*
查看文件列表。你看到一个名为 的文件analytics.js吗?知道您将被跟踪。这不一定是错误的,但很高兴知道。在文件中查找_gaq.push,这是使用 Google Analytics 的标准方式。
最后一点:不要盲目相信扩展程序,因为它有大量用户。查看最近的评论并寻找任何危险信号。忽略通常的拖钓评论和“1 星 - 不起作用!” (除非它们很多),并专注于引起对隐私或安全性担忧的评论。
1. Apple 可能会执行这些检查,但未经证实。