一、场景介绍
电信诈骗无论采用何种形式,其最终结果对受害者而言均具有一致性,即受害者会在未充分信任相关支付行为安全性的前提下,进行诸如向其他账户转账、在不可信店铺下单等操作。
基于大量诈骗案例的统计分析,可构建出端侧涉诈行为的时序链模型。该模型涵盖转账前出现屏幕共享、阻挠通话、涉诈App安装等关键行为,且不同涉诈行为、以及其发生的事件,也会对应着不同风险判断权重。

小米据此推出【设备涉诈检测】系统服务,旨在精准判断用户在关键场景下所面临的欺诈威胁。
例如:在金融支付类、电商类等应用涉及转账、下单、订阅等操作时,或是您的App启动时,可通过该服务获取涉诈风险分信息。
此外,在确保用户隐私的前提下与小米深度合作,获取设备上发生的具体涉诈行为信息,助力原有风控模型,更精准地识别用户在应用内的关键行为是否具有被欺诈风险。
二、服务简介
【设备涉诈行为检测】服务由基础服务和进阶服务两部分构成。
1、基础服务:获取涉诈风险分
在基础服务上,小米会根据端侧已发生的涉诈行为进行判断,综合评估当前设备的被诈骗风险,并以涉诈风险分的形式呈现评估结果。
该风险分直观反映了小米对设备当前涉诈风险等级的判断,合作方可据此采取相应的风控行为,如提示风险、增设额外安全验证环节,甚至拦截高风险交易等。
2、进阶服务:获取涉诈行为元数据
该服务主要面向拥有自建风险控制模型的大型企业或组织。小米将在充分保障用户隐私的基础上,按照合作方对时间、行为持续时长等的具体要求,提供设备上是否发生过某项涉诈行为的0/1值数据。
这些数据以多层嵌套的键值对的形式呈现,可作为设备侧的行为特征,融入合作方原有的风控模型,从而进一步提升涉诈检测的置信度。 由于涉诈参数具有固定性,因此该进阶服务可能涉及一定程度的适配工作,仅向计划与小米开展深度合作的伙伴开放。
三、服务优势
1、中小企业低成本敏捷接入
对于中小企业而言,该服务可快速识别当前业务场景下用户所面临的欺诈威胁,并有效拦截潜在的风险交易,从而显著提升App的用户信任度与口碑。
2、深度合作赋能大型企业
对于已构建风控模型的大型企业或组织,本服务将提供详尽的涉诈行为数据,涵盖行为是否发生、发生时间及持续时长等关键信息,并支持72小时内的多时间段行为查询。此外,开发者可按需自定义获取涉诈行为数据,自行判断用户风险,而非依赖小米的判断逻辑。
3、全面的涉诈行为数据
涉诈行为数据种类丰富、数量众多,覆盖涉诈SIM通话、涉诈VOIP通话、AI换脸检测、屏幕共享、云会议、金融App安装以及风险App安装等众多事件,即便用户删除通话记录、删除App等,仍然可以检测,为精准风控提供坚实基础。
4、灵活便捷的接入方式
支持SDK方式快速接入,助力开发者高效集成服务。若开发者对包体体积存在担忧,小米还将提供AIDL接入方式,满足不同开发需求。
四、服务介绍
1、运作机制

| 接口 | 描述 |
| 涉诈风险分评估 | 在请求发起时,返回一个风险分数 |
| 当前涉诈行为检测 | 在请求发起时,设备上是否正在进行某些行为 |
| 前序涉诈行为检测 | 在请求发起时,上传目标时间区间内,设备上是否发生过某些行为 |
| 持续涉诈行为检测 | 在请求发起时,上传的目标时间区间内,设备上是否发生了某些持续了一段时间的特定行为 |
2、基础服务:涉诈风险分评估API
响应内容描述
| 字段 | 描述 | 返回值范围 |
| data | 当前涉诈行为数据,数据hash的原始数据 | |
| score (风险分数) | 当前的设备的涉诈风险分 | 0-100 (String类型,建议先转成Float类型进行处理) |
| challenge | 调用方通过API接口传入的随机数,建议由业务服务端生成,长度为 16~256字符 | |
| authenticity | 数据签名信息 | |
| hash | 对data的value进行SHA256得到的哈希值 | |
| token | 用于数据验签,可以将该数据上传到小米的服务器进行数据验证 |
{
"data": {
"score": "0.7",
"challenge": "1760151856222com.xiaomi.xsof.demo"
},
"authenticity": {
"hash": "82d1854695454a2074477be350b82f89d404837c0cb63d8968a90de49b44136c",
"token": "xxxxxxxx"
}
}3、当前涉诈行为检测API
进阶服务返回值释义
| 返回值 | 含义 | 解释 |
| 0 | NO / 否 | 规定时间区间内,设备确实发生过 |
| 1 | YES / 是 | 规定时间区间内,设备确实没发生过; |
| 2 | UNKNOWN / 无法获取 | 依赖功能开关的,且功能未打开 |
| 3 | UNSUPPORT / 设备不支持 | 机型不支持/或者依赖App的版本不够。 |
响应内容描述
以JSON格式返回数据,在响应中包含两个主要字段“data”、“authenticity”。
data字段包含了一组键值对,用以描述在请求发起时,设备上是否正在进行某些行为
每个键代表一种行为,例如callForwarding(呼叫转移)、screenSharing(屏幕共享)等。
authenticity字段主要用于验证数据的真实性
| 字段 | 描述 | 返回值范围 |
| data | 当前涉诈行为数据,数据hash的原始数据 | |
| callForwarding 呼叫转移 | 是否正处于呼叫转移状态 | 0、1、3 |
| screenSharing 屏幕共享 | 是否正处于屏幕共享or录制状态 | 0、1 |
| simCardCalling Sim通话 | 是否正在进行Sim通话 (不支持SIM卡的PAD,因为无法发生sim通话,所以查询结果视为否) | 0、1 |
| simCardFraudCalling Sim涉诈通话 | 是否正在进行Sim涉诈通话 | 0、1、2、3 |
| voipCalling VOIP通话 | 是否正在进行VOIP通话 | 0、1、2、3 |
| voipFraudCalling VOIP涉诈通话 | 是否正在进行VOIP涉诈通话 (包含涉诈检测和AI换脸检测) | 0、1、2、3 |
| challenge | 调用方通过API接口传入的随机数,建议由业务服务端生成,长度为 16~256字符 | |
| authenticity | 数据签名信息 | |
| hash | 对data的value进行SHA256得到的哈希值 | |
| token | 用于数据验签,可以将该数据上传到小米的服务器进行数据验证 |
返回结果示例
{
"data": {
"callForwarding": 0,
"screenSharingOrRecording": 0,
"simCardCalling": 0,
"simCardFraudCalling": 0,
"voipCalling": 0,
"voipFraudCalling": 0,
"challenge": "1758505904702com.xiaomi.xsof.demo"
},
"authenticity": {
"hash": "b27b460a6c7ec552347631ab5540c8a0a4145ebe050de5e9fe1812a870595eb0",
"token": "xxxxxxxx"
}
}4、前序涉诈行为检测API
请求内容描述
在您的请求中定义不同的时间段范围。
支持以数组形式上传,获取某项行为在多个时间区间内,是否发生的结果。
此枚举类包含了7个时间区间常量“timestampTypes”,每个常量代表一个特定的事件发生的时间区间。
| 业务字段 | 值 | 描述 |
| timestampTypes 必传 | 0 | <1分钟 |
| 1 | 1<=time<30分钟 | |
| 2 | 30<=time<60分钟 | |
| 3 | 1<=time<6小时 | |
| 4 | 6<=time<12小时 | |
| 5 | 12<=time<24小时 | |
| 6 | 24<=time<72小时 |
响应内容描述
以JSON格式返回数据,在响应中包含两个主要字段“data”、“authenticity”。
data字段包含了一组键值对,用以描述目标时间区间内,设备上是否发生过某些行为
每个键代表一种行为,例如callForwarding(呼叫转移)、screenSharing(屏幕共享)等。
| 字段 | 描述 | 返回值范围 (int类型) |
| data | 当前涉诈行为数据,数据hash的原始数据 | |
| airplaneMode 飞行模式 | 在目标时间区间内,是否开启过飞行模式 | 0、1 |
| callForwarding 呼叫转移 | 在目标时间区间内,是否开启过呼叫转移 | 0、1、3 |
| screenshot 截图 | 在目标时间区间内,是否发生过截图 | 0、1 |
| screenShare 屏幕共享 | 在目标时间区间内,是否发生过屏幕共享 | 0、1 |
| simFraudCall Sim涉诈通话 | 在目标时间区间内,是否进行过Sim涉诈通话 | 0、1、2、3 |
| voipFraudCall VOIP涉诈通话 | 在目标时间区间内,是否进行过VOIP涉诈通话 包含SIm涉诈通话检测和AI换脸检测 | 0、1、2、3 |
| fraudUrl 访问涉诈Url | 在目标时间区间内,是否访问过涉诈Url | 0、1、3 |
| conferenceApp 视频会议App安装 | 在目标时间区间内,是否安装过视频会议类App - 网络电话类、录屏软件类、云会议、远程控制、投屏软件类 - 有效时间内卸载后依然命中 | 0、1、3 |
| financialApp 投资理财App安装 | 在目标时间区间内,是否安装过投资理财类App - 信用卡代办、银行信用卡、第三方支付、金融机构支付、手机银行、信托、融资租赁、资产管理/交易、逾期方案解决、融资担保、个人征信机构、典当等类别 - 有效时间内卸载后依然命中 | 0、1、3 |
| loanApp 借贷类App安装 | 在目标时间区间内,是否安装过借贷类App - 小额贷款、消费金融、银行贷款 | 0、1、3 |
| indistinguishableApp 无法区分类型的App安装 | 在目标时间区间内,是否安装过无法区分类型的App (无法区分的原因 商店、安装器服务端发生通信异常无法获取应用类别 生态基表暂未标记该应用 该应用未被收录到生态基表中。 可能安装了一个插件(商店来源)) | 0、1、3 |
| riskApp 风险应用安装行为 | 在目标时间区间内,是否试图安装风险应用 (在安装器安装应用时,被代码扫描引擎分析出存在风险特征的应用 刑警提供的涉诈应用的特征分析,例如流氓应用,病毒应用,改机root工具,自动化脚本工具等) | 0、1 |
| suspiciousApp 可疑无网安装 | 在目标时间区间内,在5分钟以内断开网络,并完成了一个安装事件。 | 0、1、3 |
| challenge | 调用方通过API接口传入的随机数,建议由业务服务端生成,长度为 16~256字符 | |
| authenticity | 数据签名信息 | |
| hash | 对data的value进行SHA256得到的哈希值 | |
| token | 用于数据验签,可以将该数据上传到小米的服务器进行数据验证 |
返回结果示例
{
"data": {
"airplaneMode": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0
},
"callForwarding": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0
},
"conferenceApp": {
"0": 3,
"1": 3,
"2": 3,
"3": 3,
"4": 3,
"5": 3,
"6": 3
},
"financialApp": {
"0": 3,
"1": 3,
"2": 3,
"3": 3,
"4": 3,
"5": 3,
"6": 3
},
"fraudUrl": {
"0": 3,
"1": 3,
"2": 3,
"3": 3,
"4": 3,
"5": 3,
"6": 3
},
"loanApp": {
"0": 3,
"1": 3,
"2": 3,
"3": 3,
"4": 3,
"5": 3,
"6": 3
},
"riskApp": {
"0": 3,
"1": 3,
"2": 3,
"3": 3,
"4": 3,
"5": 3,
"6": 3
},
"screenShare": {
"0": 0,
"1": 0,
"2": 0,
"3": 1,
"4": 0,
"5": 0,
"6": 0
},
"screenshot": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0
},
"simFraudCall": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0
},
"voipFraudCall": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0
},
"challenge": "1758522981436com.xiaomi.xsof.demo"
},
"authenticity": {
"hash": "403c6484db355e022462f14b296b64c37b895f9f4f59c999b6838ae4cde7471e",
"token": "xxxxxxxx"
}
}5、前序涉诈行为-持续时长检测API
请求内容描述
在您的请求中定义不同的时间段范围、和目标行为的持续时间。
均支持以数组形式上传,获取某项行为在多个时间区间内,是否发生了持续一段时间以上的结果。
此枚举类包含了7个时间区间常量(timestampTypes)和4个持续时长常量(durationTypes),每个常量代表一个特定的事件发生的时间区间、或是发生行为持续时长的区间。
| 业务字段 | 值 | 描述 |
| timestampTypes 必传 | 0 | <1分钟 |
| 1 | 1<=time<30分钟 | |
| 2 | 30<=time<60分钟 | |
| 3 | 1<=time<6小时 | |
| 4 | 6<=time<12小时 | |
| 5 | 12<=time<24小时 | |
| 6 | 24<=time<72小时 | |
| durationTypes 必传 | 0 | <1分钟 |
| 1 | 1<=time<3分钟 | |
| 2 | 3<=time<10分钟 | |
| 3 | >=10分钟 |
响应内容
以JSON格式返回数据,在响应中包含两个主要字段“data”、“authenticity”。
data 字段包含了一组键值对,描述了在特定时间区间内,设备上是否发生了某些持续了一段时间的特定行为。
每个键代表一种行为,例如overseasCall(海外电话)、screenShare(屏幕共享)等。
- 每个行为的值是一个嵌套的对象,
- 其中外层的键是时间区间的索引,外层的值是您定义的时间区间(timestampTypes)内的,各个持续时长(durationTypes)下的行为发生情况。
- 内层的键是持续时长(durationTypes)的索引,内层的值表示该持续时长内该行为是否发生。
| 字段 | 描述 | 返回值范围 (int类型) |
| data | 当前涉诈行为数据,数据hash的原始数据 | |
| overseasCall 境外电话 | 在目标时间区间内,是否发生过持续一定时长的境外通话 | 0、1、3 |
| screenShare 屏幕共享 | 在目标时间区间内,是否发生过持续一定时长的屏幕录制 | 0、1 |
| simCall Sim通话 | 在目标时间区间内,是否发生过持续一定时长的Sim通话 | 0、1、3 |
| simFraudCall sim涉诈通话 | 在目标时间区间内,是否发生过持续一定时长的Sim涉诈通话 | 0、1、2、3 |
| virtualOperatorCall 虚拟运营商通话 | 在目标时间区间内,是否发生过持续一定时长的虚拟运营商通话 | 0、1、3 |
| voipCall VOIP通话 | 在目标时间区间内,是否发生过持续一定时长的VOIP通话 | 0、1、2、3 |
| voipFraudCall VOIP涉诈通话 | 在目标时间区间内,是否发生过持续一定时长的VOIP涉诈通话 (包含涉诈检测和AI换脸检测) | 0、1、2、3 |
| challenge | 调用方通过API接口传入的随机数,建议由业务服务端生成,长度为 16~256字符 | |
| authenticity | 数据签名信息 | |
| hash | 对data的value进行SHA256得到的哈希值 | |
| token | 用于数据验签,可以将该数据上传到小米的服务器进行数据验证 |
返回结果示例
{
"data": {
"overseasCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"screenShare":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"simCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"simFraudCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"virtualOperatorCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"voipCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}},
"voipFraudCall":{
"0":{"0":0,"1":0,"2":0,"3":0},
"1":{"0":0,"1":0,"2":0,"3":0},
"2":{"0":0,"1":0,"2":0,"3":0},
"3":{"0":0,"1":0,"2":0,"3":0},
"4":{"0":0,"1":0,"2":0,"3":0},
"5":{"0":0,"1":0,"2":0,"3":0},
"6":{"0":0,"1":0,"2":0,"3":0}
},
"challenge": "1758522981436com.xiaomi.xsof.demo"
}
"authenticity": {
"hash": "b3490ee19886280ae60fb3d8f6ea4c28fcfd0dbcf9193431cf96dabae2b2024f",
"token": "xxxxxxxx"
} 五、服务配额与限制
| 服务类型 | 默认服务配额 | 调用限制 | 系统版本限制 | 机型 | 支持的国家/地区 |
| 基础服务 | 每个应用在全设备上每天最多调用3w次,总额度可通过申请配额增加。 | 单个设备上,单个应用,风险分API,每30秒最多可以成功调用1次 | 系统版本:HyperOS 3.1 及以上 | Phone、PAD、Filp、Fold | 中国大陆 |
| 进阶服务 | 每个应用在全设备上每天最多调用3w次,总额度可通过申请配额增加。 | 单个设备上,单个应用,每个API,每30秒最多可以成功调用1次 | 系统版本:HyperOS 3.1 及以上 | Phone、PAD、Filp、Fold | 中国大陆 |