一、写在前面
也许这两天不少同学的FH已经升级到了v2020.3.517
,并且悲催的发现这个版本的FH被浏览器禁用
了,点看查看详情,差不多是这个样子的:
或许也有同学直接到chrome://extensions
准备直接启用,于是会出现类似下面这样一个Dialog:
是的,看起来确实很吓人,大家一定会误解,觉得是FeHelper要开始获取你的数据了
,然而并不是。。。
二、有责声明
把FH脱光了给大家看,这个很重要!!!
- FeHelper仅仅是一个浏览器插件工具,用户随用随删,免费、无成本!
- FeHelper不会抓取任何用户信息,以前没有、现在不会、以后也绝不会!
- 如果你表示怀疑,可以用抓包工具进行检测,推荐一些常用抓包工具:Wireshark、Fiddler、Charles
- 如果你依然不放心,可以直接卸载掉FeHelper
- FeHelper很早就已经在Github开源,大家感兴趣可以去看源码,Github搜 zxlie/FeHelper
- 你可能更怀疑本机安装的FH源代码,你可以这样获取并进行安全审计:
- 浏览器访问:chrome://version
- 找到个人资料夹,复制路径 PATH
- 进入Finder或者命令行终端,cd PATH
- 继续进入FeHelper在本机安装的目录:cd Extensions/pkgccpejnmalmdinmhkkfafefagiiiad
- OK,进入你已安装的版本目录,可以开始你的代码审计工作
- 提审的代码是已压缩的,目的是加快下载安装速度,你可以到网上找代码美化工具,格式化后继续审计
- 至此,FeHelper已经裤子都脱光了,目的就是不怕大家看,毕竟也没啥好看的
三、接着描述血案过程
在FeHelper的老版本(2018.x 时代),baidufe.com 官网是可以通过Google chrome Inline-Installation Api
来完成插件安装状态的检测、以及直接安装的。Inline-Installation Api
是啥?官方有Doc介绍:(在我很早以前的文章里也有写过。。。) https://developer.chrome.com/webstore/inline_installation ,不过简单点儿说,就是:
- 验证你的网站
网站html-head-block中增加一个link标签
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/itemID">
通过Api
chrome.app.isInstalled
检测当前页面指定的chrome-extension/app是否已安装,true
表示已安装- 如果得到的结果是
false
,可以继续通过Apichrome.webstore.isntall
来直接通过官网安装,提高安装效率
然而,这个东西其实在06/12/2018
就属于一个deprecated的Api!!!
四、那咋办?
所以,官方弃用了一个过时的Api,也给开发者提供了另外一个解决方案,那就是我们在FH新版本里用到的externally_connectable
!!
是的,于是我是FH v2020.3.517版本中,增加了这个feature,旨在该版本过审后,能在用户访问FH官网 baidufe.com/fehelper 的时候,可通过消息机制,直接测试用户是否已安装过FH
,以此作为chrome.app.isInstalled总是返回false
的替代方案!
虽然目前FH新版本已经过审了,但在baidufe.com官网上,还没增加(也是还没来得及加)这个消息检测的feature,之后也不用加了。。。
五、发现灾难
3.8日早上,我的FeHelper成功升级到v2020.3.5.17,但我发现诡异的现象,是这个版本被浏览器禁用掉了,如「一」
中的截图描述,于是知道新版本里增加的这个Feature是灾难性
的,尤其在当下用户信息敏感的状态下,这个浏览器警告/提示
更会让用户误解,甚至直接卸载。当天,也有不少用户直接给我提feedback & Mail,基本都逐个回复,消除疑虑。
六、策略回滚
3.8日已紧急回滚这个feature,重新提审;按照近期google chrome extension的审核速度,一般2个工作日过审,届时大家的FeHelper会恢复原样。
最后,祝大家工作生活顺利!