最近用 Chrome 越用越卡,排查了一下后发现是 Golink 扩展导致的,在其插件评论中也发现了类似的反馈:
出于好奇,我解包了扩展,想看看到底是在做什么能这么卡。
反混淆 background.fc3f2dbe.js
得到
import { r as o, g as t } from './util.eef45f49.js';
chrome.webRequest.onCompleted.addListener(function (e) {
o(e.url);
}, { urls: ['<all_urls>'] });
可以看出每次 chrome 请求结束后都会把 url 传到一个叫 o
的函数里,也就是 util.js
里的 r
。
反混淆 util.eef45f49.js
得到
const Sn = async e => {
if (await S('user') == null)
return;
let n = await S('urls');
if (!n) { n = []; }
//...
//{
//...
var u = true;
n.forEach(function (l) {
if (l === i[1]) {
u = false;
}
});
if (u) {
n.push(i[1]);
await J('urls', n);
}
}
};
export {
//...
Sn as r,
//...
};
省略了一部分代码,但是基本逻辑是从chrome.storage.local
取出一个叫urls
的数组,然后将当前访问的 url 加入到这个数组里,再放回存储。因为要遍历整个数组来去重,所以当访问很多网站后就会很卡。
通过 chrome devtool 验证:
注意:
urls
包括了所有 chrome 进行过的请求,即使未启用扩展的加速功能,只要你登录了就会收集请求 URL
这些 URL 中除了访问历史记录以外还很可能包括了 token 之类的敏感信息。
进一步分析发现一个叫做Rn
的函数会调用Me
把 urls 发送到/report/extension-visit-log
。具体调用时机懒得分析了,直接开 chrome 用自带的开发者工具抓包得到以下结果
解包的扩展,如果有人想分析的话: https://drive.google.com/file/d/1PHxNWanTJ9WKgv88jvgbdB-WMT6ZDIpV/view
![]() |
1
3L99FY8Topz9608o 51 天前 via iPhone
Golink 是那个免费的游戏加速器吗?是的话就不奇怪了
|
![]() |
2
Actrace 51 天前
我一直用老牌的零维。
|
3
jinliming2 51 天前 via iPhone
这能收集多少隐私……
建议一定要用的话,感觉可以进设置把这个扩展的 site access 访问权限改为点击启用。要用的 tab 下点一下开启。或者设置个白名单列表 |
4
abc612008 OP @jinliming2 可以收集到你访问过的每一个链接,甚至是带 token 的图片/登录/下载地址之类的。比如 S3 下文件都会有一个几小时过期的 pre-signed 链接。理论上有些安全不是很好的网站也可以通过登录时候跳转的 token 或者 jwt 来窃取你的 session 。
|