小米手机是电子锦衣卫吗?从卸载传闻到反诈接口

封面以略俯视的微缩桌面构图呈现一台深色、方形摄像模组的小米手机;手机左侧是一只悬在接听键上方的手,右侧是分开放置的 Telegram 纸飞机和黑色 X 标志,前景放一枚用手捏出的问号

有人突然接到派出所警察的电话,被要求卸载Telegram和X。是小米在充当电子锦衣卫,还是有人冤枉了小米?

大家好,欢迎收听老范讲故事的YouTube频道。

10月31日,X上一个叫MeT的网友发了一篇长帖,说他朋友的朋友用的是国产安卓手机,前不久接到当地警察的电话,被要求卸载X和Telegram。这台手机是小米14,已经root过了,也就是已经越狱了。

MeT把这台手机拆开查了一遍,说里头有两个预装的组件,一个叫系统安全组件,另一个叫系统助手,会分别把手机上装了哪些App报给小米的反诈服务和联通的服务器。他还说,安全组件里有一段代码,能在你不知道的时候录制大约三秒钟的屏幕,加密后传到小米云上,判断有没有风险。没有风险就删掉,过两秒钟再录一段。他自己也承认,这段代码是靠GPT帮着分析的,有错欢迎指正。

11月2日,台湾的ETtoday先爆了出来。到了11月4日,一条标题里带着“小米手机变电子锦衣卫”的视频流传起来,小米手机成了电子锦衣卫的话题一下就火了。市场倒是一点都不慌。11月2号,爆料之后头一个交易日,小米港股涨了6.12%,收在28块一港币,同一天恒生科技指数涨了2.25%。小米到今天一字也没回应。

网上对这件事主要有两波说法。头一波把矛头全都指向了小米,X上的转述讲的是小米手机在监控用户。可华为鸿蒙也给开发者开了一个专门的涉诈剧本检测接口,vivo也有一套对外开放的诈骗风险检测。今年4月,一部反诈行业标准的起草单位里,小米、vivo和荣耀都在。另一波说这是2022年就有过的旧闻,是炒冷饭,冤枉了小米。料确实很糙,说是朋友的朋友,到底是谁?

用GPT逆向一台root过的老机器,这台机器已经破解过了,里头到底有什么东西,其实没有办法固定证据。靠这个去告小米,是告不了的。可小米自己的开发文档里白纸黑字写着,这套设备涉诈检测要澎湃OS 3.1以上才支持,文档是今年4月才更新的。这不是炒冷饭,事是老事,接口是今年的新货。

所以我的判断是,小米绝对没有被冤枉。可是国产安卓连鸿蒙在内,都有当电子锦衣卫的本事,小米只是做得更粗糙一些。在中国,反诈是可以说的,可是把信息发出去、开关不许你关,是可以做但不能说的事情。最简单的结论就是,大家还是好好用iPhone,远离安卓设备,包括拒绝承认自己是安卓的鸿蒙设备,都不要用。后面再比一比,iPhone跟这些手机的策略到底差在哪。

一个会拍照、记录进出和上报的小区保安

我想先从小区保安的故事说起,再看看这回的料到底有几分真,然后看看别的国产安卓是不是也都有当电子锦衣卫的本事,最后说说iPhone是怎么干活的。这件事涉及不少技术细节,先讲个小区保安的故事,比较容易理解到底发生了什么。

以剖面小区做成明显的比喻场景;前景的保安站在有厚度的门岗内,一手举相机朝向剖开的小屋,一手在翻开的记事本上记录住户进出

小区保安本来应该帮你防盗、管安全,可这个保安不光管安全,还会进你家拍照。你每天几点出门、几点进门、见了什么人、拿了什么东西进去、拿了什么东西出来,他都记下来,记完了还往上报。他还跟小区周围的商店签了协议,说这些信息都可以共享给你们。这样,商店就知道这家人什么时候出来买什么东西、什么时候出来丢垃圾、还要做什么事,就能找准时机向他们卖东西。

整个过程都不告诉你,你也没法让他停下来。他倒是给你装了个开关,可就算把开关关了,他还接着干。后面讲的每一条都能在这位保安身上对上号。拍照对应的是截屏记录和录屏,保安还会记下你进进出出的情况。保安记你进进出出、见了谁,对应的是你打过什么电话、开没开过屏幕共享。拿进拿出,是你装了什么App、删了什么App。跟商店签协议,是小米对外开放的那套反诈接口。这就是这次小米事件最形象的一个比喻。

一台拆过的小米手机能说明什么

这回爆出来的料到底靠不靠谱?从证据的角度说,其实没那么严谨,一共有三条。头一条,说这是朋友的朋友的事,可信度就打了折扣。这也好理解,被警察打了电话,最后往往都会说成是朋友的朋友出的事。要是说我的朋友,那基本上就是你自己了。

第二条,逆向是GPT做的,拆的还是一台小米14。小米14是2023年10月发布的,今年9月小米18 Pro Max都出来了。这是一台三年前的老手机,跑的是澎湃OS3,后来的新系统改没改,谁也说不准。小米手机这类事也不是头一回被扒出来。2022年11月,就有人在技术论坛上贴出了MIUI安全中心的代码,它会把你装的非系统应用一股脑报到小米的一个检测地址。2023年初,GitHub上还有人专门做了个模块来拦,这是老毛病了。

第三条,手机是先root再拆解的。这个过程官方不会认,你没法拿去公证,证据也固定不下来。官方不会对一台被root破解过的手机做任何解释。都root了,你在里头干什么都可以,也就没什么好说的。一个人、一台root过的手机、一份GPT帮着读的代码,这叫孤证,孤证不立。好在另外一位开发者在GitHub上放了一份逐条核对的结果,有的证实了,有的推翻了。

把拆开的深色小米14放在橡皮泥维修台正中,两个组件做成分开摆放的圆角立体模块;左边小米模块前摆着代表 App 资料的小包裹和一个独立服务器,右边 SystemHelper 模块前摆着 SIM 卡、流量计和联通服务器模型

这回到底扒出了什么?手机里确实有两个文件,一个是小米自己的系统安全组件。它会把手机上安装的第三方App的包名、版本、签名和名字报给小米的反诈服务。手机里还有一个反诈数据库,记着你什么时候截过屏、什么时候开过屏幕共享、打过哪些网络电话。数据库里的信息每72小时滚动一次,也就是每过72小时会把前面的信息覆盖掉。删了的东西也能查出来,这一条小米在文档里还专门写了,待会再讲。

另一个文件其实是联通的,叫SystemHelper,也就是系统助手。它采集手机的基本信息,包括IMEI号、SIM卡号,还有你装了哪些App、过去一天用过哪些、各跑了多少流量,按天、按半天、按小时往联通服务器上报。这是因为联通肯定要算你的流量。

录屏这件事,我只能说争议比较大。从能力上说,安全组件确实能够绕开安卓本来该弹出的录屏授权窗口。按道理,一旦要录屏,安卓应该弹出窗口让你确认。但是这个安全组件的权限实在太高,可以在你不知道的情况下把整个屏幕录下来,还能加密上传。核对代码的开发者也说,部分机型上静默录屏属实。至于是明文还是加密,这里先不研究。

近景一只手点向橡皮泥手机上代表误报反馈的圆角凸起按钮,按钮后方依次摆放一小段卷起的屏幕胶片和云端复核模型,做成代码核对者描述的触发场景示意;将限定语压印在有厚度的圆角底座上,远景留白,不绘制循环录制路线

那段录三秒、转码、加密上传的代码用在什么地方?核对的人说,它用在诈骗提醒的弹窗里。手机提醒你可能被骗了,你点了说自己没被骗、这是误报,这时候它才会录下一小段屏幕,上传到云端再判断一回。最新的小米18这一代还没有人拆开查过,到底现在的系统还这样,还是以前某个版本是这样,目前不确定。

这么糙的爆料,爆料的人自己会不会被告?我觉得可能性还是很大的,前面有现成的案子。2024年8月,一个百万粉丝的汽车博主发了一条小米SU7的碰撞视频,说碰完以后全车断电,紧急呼叫失灵,播放量很快就过了300万。今年7月,北京海淀法院一审判了。碰撞之前,小电瓶电源线就被人拆装过,他瞒着没说。定的是损害商品声誉罪,判了一年八个月,罚金十万。罚了钱,还得坐牢。

这一回的爆料,第一个问题是旧,拿的是小米14。第二个问题是模糊,说的是朋友的朋友的传闻。还有第三个问题。第三个问题是,逆向是GPT做的。错了不要怪我,他给自己叠了一大堆buff。真要是造成了恶劣影响,他可能还是会被告,只是现在应该还没什么人理他。

反诈接口能查到什么,出了问题谁负责

小米真的把这些反诈信息交给别人了吗?就像刚才讲的那位保安,把你的一举一动汇报给周围的小卖部,让人家知道你几点出来吃饭、几点出来倒垃圾、什么时候该给你看什么广告。小米在开发文档里确实写了这种合作。

用立体双层柜台呈现接口;低处的基础窗口摆放风险分圆盘,高处的进阶窗口摆放深度合作伙伴的查询抽屉,抽屉里有境外电话、屏幕共享、金融App和风险App的捏塑图标

今年4月15号更新的《设备涉诈检测业务介绍》把这件事分成两层。基础的一层给一个涉诈风险分,从0到100分。进阶的一层仅向计划与小米开展深度合作的伙伴开放。72小时之内,你接没接过境外电话、开没开过屏幕共享、打没打过涉诈电话、装没装过金融App和风险App,人家都能按时间段查。文档里有一句原话,“即便用户删除通话记录、删除App等,仍然可以检测”。删了照样看得着。

你装了个它眼里的风险App,接了个境外电话,开了一回屏幕共享,这几个0和1就在你的手机上挂72小时。比如没接过就是0,接过就是1。谁接了这个接口,谁就能直接去看。服务是免费的,用企业邮箱给小米写邮件就可以谈。每个App在所有的小米手机上,一天最多可以调三万次。这有点夸张,想查随时都能查。

这个权限都给了谁?小米的文档里没有写名单。核对代码的开发者在他那台小米手机上查了一遍,拿到读取这些风险分权限的App有小米钱包、支付宝、淘宝、京东、美团、小红书、抖音、高德和滴滴。国民App基本上全拿到了,没给微信,这很神奇。但是小米自己的开发者文档写的是,这些信息需要请求才能得到。也就是说,滴滴这样的App必须先来问,小米才会返回,绝不会主动推送。

返回的只有零和一以及一个分数,都是相对脱敏后的信息。证据层面也只能讲到这里。真正让人看不下去的是小米跟这些App签的协议。同一天更新的安全开放服务开发者协议写到,出了隐私问题,应由开发者负责和用户解决,与小米无关,小米不承担任何责任。出了舆情,开发者自己回应,严禁通过任何形式把上述舆情等情形引导至小米。

小米对开发者承担的全部责任,始终不超过开发者在协议有效期内因使用小米服务而支付给小米的费用。可这个服务是免费的,所以小米不承担任何责任。用户在中间被查,出了事有App在前面顶着,小米连锅都不用背。小米的账号隐私政策还写着,不会把个人信息卖给第三方。确实没卖,是白给的。

这件事最让人不舒服的有四点。头一点,有人接到了电话,是不是手机报上去的?有没有直接的因果链?事情已经变成了朋友的朋友的事,没法确认。可是早在2023年,小米国内版的系统就把Telegram标记成了没通过小米安全审核的应用。电话一来,大家心里肯定都发毛。

第二点,告知得不清楚。小米没有告诉你,它到底拿了你哪些信息,给了哪些人。文档里也没有名单,开放能力的那一页只给了一张合作咨询表。第三点,小米把这些信息给了别人,还写上甩锅条款。信息给你了,你造成什么问题,别来怪我,自己扛着。这就有点过分了,让人很难接受。

第四点,开关不管用。核对代码的开发者把手机上的开关全关了,截屏的时候照样往数据库里写,卸掉这些安全组件也没用。爆料的人还说,他的手机要是没root,这些组件根本卸不掉。卸了以后会不会自己再装回去,他也没办法验证。所以这个保安,你想辞都辞不掉。那为什么老是小米被捶?小米因为反诈被爆出来,已经不是头一回两回了。

国内版、国际版与其他厂商的做法

原来最大的靶子其实是华为。现在华为在海外没法卖了,小米就在前头顶雷了,因为全世界卖得最多的中国手机就是小米。今年三季度,小米手机的全球出货量排第三,在中国牌子里排第一。海外的人拆中国手机,头一个拆的就是它。

2021年9月,立陶宛国防部下属的网络安全中心就说,小米10T里藏了一份屏蔽词清单,在欧洲版上是关着的,可随时远程打开。没过几个月,台湾通信传播委员会也针对这款手机发了警示。

同一底座上并排摆放两台通用小米手机,背后立着分别印有国内和国际版字样的圆角厚橡皮泥牌;国内手机剖面里的反诈链路接通,国际版手机同一位置仍留着模块,链路开关拨到关闭

小米的这些反诈模块主要装在国内手机上。小米自己的文档写了支持的国家和地区,就是中国大陆。国内手机直接开着,还不许关。国际版的相关链路是关着的,但模块还在。联通的模块也有个开关,你的号码是国内的,它就干活。不是国内的,它就不干活。可是这些模块每次都能关干净吗?还是说虽然关了,它照样待在你手机里?这种事早晚会被人抓出来。

从反诈这件事来说,手机厂商是责任主体吗?还真不是。反电信网络诈骗法第六条写得很清楚,承担风险防控责任的是四类,分别是电信业务经营者、银行业金融机构、非银行支付机构和互联网服务提供者。手机厂商不在里头。当然,小米并不是单纯的手机厂商,国内的手机厂商可能绝大部分都同时兼有非银行支付机构和互联网服务提供者的身份,因为他们都希望在卖手机之外再挣点别的钱。

今年三月份,公安部的《人民公安报》登了一份全国人大代表的建议。这位代表是浙江省公安司法鉴定中心的主任,原话是“手机厂商的法定职责尚未清晰界定”。法律没有让手机厂商这么干,但小米肯定是配合了,而且表过态。2021年底,MIUI 13上了系统级全链路反诈,小米客服说这是跟国家反诈中心合作的。

今年4月15号,工信部主管的一部反诈行业标准发布,讲的就是手机厂商和App怎么联手防诈骗。起草单位里就有小米,小米的那份开发者文档也是同一天更新的。国内所有安卓手机其实都会配合这件事,鸿蒙也一样。华为虽然不在这份标准的名单上,但开头说过,鸿蒙也有那个接口。国产安卓各个都有当电子锦衣卫的能力,小米在里头做得最过分。

在三个分开的微缩工作台上呈现厂商文档的不同做法;华为鸿蒙工作台是一只手拨开单台手机的开关,小米工作台是应用请求窗口面对一排小米手机,vivo工作台是放大剖开的手机,评估道具都留在机内

别的手机到底是怎么做的,我们只能看文档,毕竟没有人去逆向,也没办法把证据固定下来。从文档上看,华为写的是得用户自己先把开关打开,每个App在每台手机上一天最多查十次。小米那是三万次。vivo写的是全程在手机上完成评估,不用上传用户的任何数据。小米不告知、关不掉、往上传,还跟商业合作伙伴共享,一天能查三万次,在安卓里算是最过分的一个。

这事会怎么收尾?小米出来承认错误、改配置、调整安全策略,我觉得基本上没有可能。在中国,有很多事可以做但不可以说,也有些事可以说但不可以做。法律没要求小米干,它自己进了标准的起草名单。反诈这两个字可以天天说,可是把信息传出去,开关不许关,再拿这些信息跟商业用户合作,就属于可以做但绝对不能说的事情。这也是小米到今天一声不吭的一个原因。

国行iPhone的反诈能力和数据边界

iPhone在中国到底是怎么做的?先确认一点,iPhone在中国确实被阉割过,国行的iPhone反诈能力比海外版差很多。iPhone可以分几层来看。头一层是运营商,谁也躲不掉,该反诈还是得反诈。比如我用iPhone接一个海外电话,包括香港的电话,很快就会收到短信,还会接到电话提醒,问我认不认识来电的人、是不是被骗了。

基本上我挂断海外电话以后,可能五分钟之内反诈电话就会打进来。这跟iPhone没关系。小米也好,任何手机也好,只要插的是中国的SIM卡,都可能接到这样的提醒。只要插了中国的SIM卡,就会有这样的监控,据说是为了反诈,同时反骚扰。可我的骚扰电话一个也没少,每天都接好几个,正经电话基本上没有了,为了收快递还不敢不接。

第二层是应用市场,肯定筛过。2023年9月底开始,苹果中国区新上架的App都得有工信部的备案号。第三层是反诈App。iPhone买回来的时候,系统里不带国家反诈中心的App,你得自己装。国内的安卓手机出厂时就把反诈组件装在系统里,卸都卸不掉。

通用外形的 iPhone 和一枚完整的 App 模块来到左侧验真门,另设独立的右侧苹果服务器立体抽屉,抽屉里并排摆放供开发者设置的拨片;用带手捏压痕的圆角厚铭牌区分验真与存储,旁边放一张代表新人券的立体票根作应用示例

苹果对这些反诈信息非常谨慎,给App开发者的东西很少。头一样是验真,验证请求是不是从一台真的iPhone、一个没有被改过的正版App里发出来的。被破解或被改过包的App过不了这一关,在虚拟机、模拟器里运行的App也用不了。

第二样是两个比特,也就是两个零和一。苹果在自己的服务器上,给每个开发者、每台手机留着这两位,里头记什么由开发者自己定。最常见的是记这台手机领没领过新人券,苹果绝对不会往里填其他任何东西。一共就两位零和一,合起来有四个状态,也放不了别的东西。开发者都可以取这些信息。谁也不希望自己的程序跑在破解过的机器或者虚拟机里,那样程序里的秘密就彻底保不住了。iPhone只给这么点,别的都不给。个人信息保护里有个现成的说法,叫最小必要。iPhone给的这几样,够你防刷单就行。

为什么说国行iPhone的反诈能力被削弱了?一个是CallKit被砍了,一个是Apple Intelligence到今天也没上。CallKit可以让微信电话这类网络电话像普通电话一样在锁屏上弹出来。2018年5月,工信部要求中国区的App把它关掉。关掉以后,苹果系统的骚扰标记和陌生来电静音就管不到网络电话了。

Apple Intelligence在国行iPhone上到今天还用不了,应该是27.3版本会上。我们现在已经升级到27.2了,快了。苹果往后再给AI加什么反诈骗的新本事,国行机器目前还使不了,要以后才能用。说到底,国行iPhone手里的反诈本事比海外版被阉割了一大截。你可以手动安装反诈App,也可以像我一样选择不装。

所有国产安卓,包括鸿蒙,都具备电子锦衣卫、东厂、西厂的技能。小米的系统更糙一些,谁也不用笑话谁。我可以开小米汽车,但绝对不会买小米手机。不光是小米,国内这些安卓手机我都不会用。对普通人来说,我唯一的建议是买iPhone,千万不要用任何国产安卓,国内版和国外版都不要用。即使是国外的版本,这些软件和模块也都装在里头,只是平时不开。至于什么时候能开,远程在云端是有能力把它打开的。

一定要用也行,除非你能保证自己像婴儿一样纯洁,否则最好还是珍爱生命,远离它们。我觉得,像婴儿一样纯洁的朋友应该也看不到老范的节目。

今天的故事就讲到这里。感谢大家收听,请帮忙点赞、点小铃铛、参加Discord讨论群,也欢迎有兴趣、有能力的朋友加入我们的付费频道。

再见。


背景图片