Re: [-Fx-] 套件审核等到天荒地老...

楼主: ettoolong (ettoolong)   2021-09-29 12:16:24
难得在这边看到有关套件审核的讨论, 就顺便来分享一下有关套件审核的部份.
以下是我凭记忆写的, 有错误的话欢迎指正.
Firefox(AMO)和Chrome(CWS)一开始就使用了两个不同的审核策略,
所以我们可以分别讨论这两个两种不同的作法.
首先是Firefox(AMO), 主要是人工审核,
但实际上全球审核员只有十几人(2018年时, 现在不晓得有没有增加),
AMO上面约25300个套件只有118个是完全审核的(刚刚查的数据),
其余的为部份审查(审查过之前某一版, 但没审过最新版)或未审查.
可想而知, 大部份的套件都是没审过的, 除非你就只装一两个, 像我就是这种,
不然多少都会装到没审过的, 我所有在AMO的套件, 现在也都是未审核状态.
那如何确保没审过的套件是安全的呢? 审核团队用的是一个叫风险值的指标.
首先, 当你上传一个新套件, AMO后台就会先把这个套件作分析,
大致上就是看你套件manifest.json内容, 看你的API permissions & Host permissions,
看你有没有content script 和 该 content script 的 match patterns,
看你有没有自订CSP, 看你有没有用到高风险API(eval 或类似作用的code),
看你有没有使用混淆后的code,
权限越大, 能改动越多网站, 使用高风险API, 就会有一个越高的风险值.
审核者一上线就会看到一个用风险值排序的套件列表, 然后从一些高风险的套件开始审.
另外, 上传新版本也会提高风险值, 例如一个套件经过人工审核后,
风险值就会降一些, 经过多次更版, 如果都没有重新审核, 风险值就会一直叠加
(就会跑到审核列表的前面一些),
距离最后一次审核版本, 改越多, 加越多, 直到重新被人工审核.
再来就是套件的人工审核其实是分两块,
一块叫内容审核, 一块叫安全性审核, 两块的审核员是分开的.
内容审核其实是你上传套件的第一关, 审核员无需技术背景,
只要审核你的套件内容有无违反AMO条款(不能有色情, 赌博, 违反美国法律之类的),
一般来说你上传新套件或新版本, 会发现没有立即出现在架上,
那就是因为还没通过内容审核, 虽然这个过程也是人工, 但因为不用实际检查程式码,
所以可以审很快, 只要审查员上线, 通常可以审个上百个.
* 有一阵子AMO是上传就上架, 但是后来AMO受到广告攻击,
用自动化方式上传一堆广告套件, AMO 也不像CWS要缴5块美金,
所以砍帐号也无法阻止自动化注册, 最后只好把上架后的内容审核改到上架前执行.
安全性审核就是大家平常比较熟知的审核, 需要技术背景,
主要就是检查你套件是否安全, 有没有把使用者资料传到特定地方,
有没有动态注入代码问题, 有没有提供混淆前的原始码,
有没有对应的隐私条款, 有没有严重效能问题等.
一般你上传套件后, 只要通过内容审核, 就会立即上架,
之后(可能是很久以后)才会有安全性审核.
再来是Chrome(CWS), 主要是自动审核, 但近两三年有人工审核,
Google作为大数据的霸权, 除了结合静态分析和动态分析外,
还导入了机器学习, 用来自动分析套件是否有问题,
从2015年的一份报告中指出Google已累积了超过45TB的动态分析资料.
Google的机器人会查询搜索引擎, 浏览社交媒体, 查看热门新闻网站,
看看有没有该套件的相关资讯.
举例来说, 如果有新闻网站报导了一篇某某套件窃取使用者资料,
或是有社群网站上有人讨论到某某套件含有恶意程式码,
Google就会自动下架该套件(当然会经过一些AI判定)
这也就是为啥有时候在CWS上的套件会莫明其妙下架,
因为AI有时候会误判, 而当恶意套件在论坛上被讨论时,
套件也会自动下架, 因为AI是24小时随时都在帮忙监看的.
得益于越来越强大的机器学习, CWS的无人工审核让开发者上传套件后
无需等候人工审核就可以直接上架,
但是还是有不少漏网之鱼, 比起AMO, CWS常常是套件被使用者发现问题后才下架.
(AMO也偶有恶意套件, 但相对少一些, 但审核人力问题, 很难改善)
毕竟恶意套件也有很多手段让你难以透过简单的自动检查发现问题.
这两年我在上传套件到CWS时, 有注意到, 含有content script
(且有大范围match patterns)的套件, 在上传后会出现要人工审核(虽然不知道是
真人工还是人工智能), 因此需要等个一两天才会真的上架.
说明了Google对安全性的要求仍然是持续进步的.
实际上我也很久没认真写套件了, 所以上面的资讯可能没有到最新,
不过大方向应该还是一样的, 可以给想开发套件的人一点参考.
如果对上面提到的部份有问题, 欢迎讨论.
作者: MK47 (和牛第一)   2021-09-29 14:05:00
推解说 比推文里一堆胡说八道的好多了
作者: s9209122222 (海海海)   2021-09-29 14:35:00
Firefox 真的很可怜,要是人力够就好了
作者: MilchFlasche (实践才能发光)   2021-09-29 16:34:00
厉害的一篇文。呜,希望Firefox的CSS实做以及JavaScript相容性都能维持不坠啊……有的bug十几年了还在
作者: frankmito (frankmito)   2021-09-29 19:12:00
所以现在火狐的状态是内容审核也人力不足囉
作者: Seventhsky (7th空)   2021-09-29 19:13:00
人力不足是常态了 所以真的不知道那么爱开新企画干嘛最后还不是没人力做下去草草收掉 都不知道loop几次了
作者: sdbb (帮我泡杯卡布奇诺)   2021-09-29 23:29:00
帮火狐QQ
作者: rockmanx52 (ゴミ丼 わがんりんにゃれ)   2021-09-30 03:38:00
一直开新专案八成是有管理“专家”导入KPI制度的结果毕竟修Bug跟维护稳定性在“管理专家”眼中不是什么“有生产力”的工作
作者: Kagero (摩荔枝天(茄汁))   2021-09-30 18:21:00
反正firefox又赢了 赢到再丢个几千万用户也没差说不定Mozilla的目标是拿掉附加元件才会这样搞人 毕竟第三方就是危险 没第三方才保证安全
作者: m20081015 (想飞的哺乳类)   2021-10-01 09:39:00
粗暴言论duck不必,FX当初会崛起就是因为附加元件,为安全性把附加元件拔掉?Mozilla又不是头壳坏掉,随着浏览器技术演进,追随越快的网页渲染加载、越快的启动速度,旧型的附加元件已经不合时宜
作者: alchemy123 (水果软索粉)   2021-10-01 10:29:00
讲得这么浮夸 铬v3装没看见 颗颗
作者: Kenqr (function(){})()   2021-10-02 16:04:00
作者: stucode   2021-10-02 22:35:00
作者: NiGHTsC   2021-10-04 03:55:00
FF:你的超能力是什么? - Google:我很有钱。
作者: t7yang (t7: 我认为这是一种背叛)   2021-10-05 20:49:00
Google: 别忘了,你还是靠我养的,每年两亿
作者: BDrip (蓝光~)   2021-10-05 21:08:00
Fx:你不养我 就找Bing喔?
作者: danny0838 (道可道非常道)   2021-10-05 23:09:00
可否冒昧问问资讯来源?是两家公司公开说明过审查方针?还是你认识两家公司的员工?XDFx最近的状况就是(1)以前不用人工审核的现在通通要审,而且一个版本审一个月以后,下个版本即使只更动一两行,也要审差不多一个月... (2)以前unlisted几乎不用审的现在也变成都要审,看起unlisted再也没什么用了XD(3)用很瞎的安全性理由退件...我有空另外说明好了...
作者: th   2021-10-14 10:38:00
好用心,推!
作者: alchemy123 (水果软索粉)   2021-10-15 22:39:00
感谢大大回复,避免误会,我是指上面的k先生。希望ff不要脑袋又撞到全部跟进==

Links booklink

Contact Us: admin [ a t ] ucptt.com