利用设备和网络信号检测AI API上的账户农场 (ZH)
被农场化操作的账户在账户层面成本低廉,但在物理层面却代价高昂。设备和网络警告代码能揭露模拟器、自动化、被篡改的客户端和被恢复的设备——每次检查仅需0.03美元。.

一个账户是数据库中的一行数据。一个设备是某人花钱购买的物理对象。
这种不对称性是设备层面滥用检测的全部基础,这也是为什么一个可以免费生成20,000个账户的农场操作,却无法免费生成20,000个设备的原因。在账户层之下,存在一个有限的真实硬件池、真实的网络路径,以及一套用于让这个小池看起来很大的技巧。
这些技巧都有特征。本文将详细介绍Didit的设备和网络分析所发出的警告,每个警告的实际含义,以及如何权衡它们——每次检查0.03美元,或包含在0.33美元的完整验证套餐中。
主要收获
- 农场操作在一个大型账户表面背后重复使用少量物理基底。这种重复使用是可检测的。
- 三个信号家族很重要:重复(同一设备或地址多次出现)、完整性(这不是一个正常的客户端)和网络(此路径并非其声称的那样)。
DEVICE_RECOVERED_HIGH_CONFIDENCE是解决此问题最有价值的单一代码——它能捕捉到设备在擦除后重新出现,这是标准的再生操作。- 像
AUTOMATION_FRAMEWORK_DETECTED和DEVICE_EMULATOR_DETECTED这样的完整性代码本身就很强。重复性代码本身较弱,需要佐证。 - 警告操作可以按代码配置——拒绝、审查或记录——因此升级路径由您决定。
- 独立检查0.03美元;包含在0.33美元的验证套餐中。
三个信号家族
重复性——我以前见过这个吗?
| 代码 | 含义 |
|---|---|
DUPLICATED_DEVICE_FINGERPRINT | 同一设备出现在多个验证背后 |
DUPLICATED_IP_ADDRESS | 同一IP地址出现在多个验证背后 |
DEVICE_RECOVERED_HIGH_CONFIDENCE | 先前见过的设备在重置或重新安装后再次出现 |
EXPECTED_IP_ADDRESS_MISMATCH | 地址与此会话预期地址不符 |
Didit明确区分了重复设备和恢复设备,这种区别是很有趣的部分。
重复设备是来自同一设备的两次验证——常见,通常无害。比如一台家用平板电脑。一个共享工作站。一个支持代理帮助用户完成流程。
恢复设备是被擦除、重置或应用程序重新安装后又再次出现的设备。Didit仍然能识别它。
对于账户农场来说,第二种情况是重要的信号。被封禁后的标准操作程序是重置设备并重新注册——这正是让“九头蛇”网络比被修剪得更快再生的原因。新账户上的DEVICE_RECOVERED_HIGH_CONFIDENCE表示:这个硬件以前曾出现过,在不同的账户下,有人试图抹去这些痕迹。几乎没有任何合法情况会在首次验证时出现这种组合。
完整性——这是一个正常的客户端吗?
| 代码 | 含义 |
|---|---|
AUTOMATION_FRAMEWORK_DETECTED | 客户端由自动化驱动,而非人工操作 |
DEVICE_EMULATOR_DETECTED | 模拟设备而非真实硬件 |
DEVICE_ROOTED_OR_JAILBROKEN | 操作系统安全模型已被移除 |
DEVICE_RUNTIME_HOOKING_DETECTED | 运行时插桩已附加到进程 |
DEVICE_APP_TAMPERED | 应用程序二进制文件已被修改 |
DEVICE_DEBUGGER_ATTACHED | 调试器已附加 |
DEVICE_INTEGRITY_SIGNALS_MISSING | 预期完整性信号缺失 |
这个家族在性质上与重复性不同,有必要明确其原因:这些代码描述的是意图。
DUPLICATED_IP_ADDRESS可能发生在大学里的任何人身上。验证流程中的AUTOMATION_FRAMEWORK_DETECTED意味着有人正在用脚本驱动身份检查。DEVICE_EMULATOR_DETECTED意味着完成您检查的“手机”是在服务器上运行的软件——这是让一台机器看起来像一百台的最便宜方法。DEVICE_APP_TAMPERED意味着客户端二进制文件已被修改,这是当您希望它报告不真实的信息时所做的事情。
模拟器农场和自动化框架是账户农场的工业工具。当它们出现在验证中时,无辜的解释是站不住脚的。
DEVICE_INTEGRITY_SIGNALS_MISSING是微妙的一个。它没有说有什么问题——它说本应表明没有问题的信号没有到达。将缺失视为一个弱负面信号,而不是中性信号,因为抑制遥测本身就是一种技术。
网络——此路径是否与其声称相符?
| 代码 | 含义 |
|---|---|
PRIVATE_NETWORK_DETECTED | 私有或匿名网络路径 |
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP | 文件和网络地理位置不符 |
IP_LOCATION_NOT_ALLOWED | 位置超出您配置的策略范围 |
IP_ADDRESS_IN_BLOCKLIST / IP_ADDRESS_IN_ALLOWLIST | 地址与您的某个列表匹配 |
DEVICE_FINGERPRINT_IN_BLOCKLIST / DEVICE_FINGERPRINT_IN_ALLOWLIST | 设备与您的某个列表匹配 |
LOCATION / NO_ACTION | 信息性 |
网络信号是最弱的家族,应相应地进行权衡。注重隐私的开发者经常使用匿名网络,而AI API的用户群通常比一般用户更具技术背景——因此,预计私有网络使用率较高是正常的,而非可疑。
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP比原始地理信息更有用,因为它是一个矛盾而非仅仅一个位置。人们旅行和搬迁,所以它本身并非决定性因素,但与重复信号结合使用时,它的作用会显著增强。
黑名单和白名单代码是执行的一半——在关于黑名单传播的文章中有深入探讨。
权重:哪些是强的,哪些是弱的
最常见的实施错误是把每个警告都视为等同。它们根本不等同。
本身就很强——合理的拒绝或严格审查依据:
DEVICE_EMULATOR_DETECTED · AUTOMATION_FRAMEWORK_DETECTED · DEVICE_APP_TAMPERED · DEVICE_RUNTIME_HOOKING_DETECTED · IP_ADDRESS_IN_BLOCKLIST · DEVICE_FINGERPRINT_IN_BLOCKLIST
在特定情境下很强——与任何其他信号结合时升级:
DEVICE_RECOVERED_HIGH_CONFIDENCE · DEVICE_ROOTED_OR_JAILBROKEN · COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP
单独较弱——在采取行动前需佐证:
DUPLICATED_IP_ADDRESS · PRIVATE_NETWORK_DETECTED · DUPLICATED_DEVICE_FINGERPRINT · DEVICE_INTEGRITY_SIGNALS_MISSING
模式是一致的:描述客户端蓄意操纵的代码很强;描述共享资源的代码较弱。共享资源有数千种无辜的解释。被修改的二进制文件则没有。
配置响应
警告操作可以按代码配置,因此您可以构建一个真正的升级阶梯,而不是单一的通过/失败门槛。
AI API的一个可行默认设置:
- 对
DEVICE_APP_TAMPERED、DEVICE_EMULATOR_DETECTED、AUTOMATION_FRAMEWORK_DETECTED以及任何黑名单命中项拒绝。黑名单匹配设计上强制拒绝。 - 对
DEVICE_RECOVERED_HIGH_CONFIDENCE和DEVICE_ROOTED_OR_JAILBROKEN审查。 - 仅对
DUPLICATED_IP_ADDRESS、PRIVATE_NETWORK_DETECTED和LOCATION记录——捕获它们用于关联,但绝不单独对其采取行动。
仅记录的代码并非浪费。当您的流量层在六周后标记一个账户,并且您需要知道它还涉及哪些其他内容时,它们使得调查成为可能。以最低成本收集它们,正如风险分层访问架构中所述,是使后续关联工作得以进行的基础。
读取会话中的信号
设备和网络结果随会话决策一起返回:
curl -X GET 'https://verification.didit.me/v3/session/{sessionId}/decision/' \
-H 'x-api-key: YOUR_API_KEY'
根据警告进行路由,而不仅仅是根据顶级状态。一个带有DUPLICATED_DEVICE_FINGERPRINT和DEVICE_RECOVERED_HIGH_CONFIDENCE的已批准会话是已批准的并且值得仔细查看——如果您只读取状态,您将永远不会知道。
Didit还提供了跨会话匹配,这是您如何从一个警告转向共享该设备或地址的其他会话集合的方法。这是从一个账户到集群的枢纽。
用例
AI API平台以最低付费层收集设备和网络信号,以便在需要之前就存在关联数据。
免费试用和信用计划,其中模拟器农场是主要的滥用载体,而单独的DEVICE_EMULATOR_DETECTED即可消除大部分滥用。
市场和零工平台检测被移除的卖家或快递员在擦除设备后重新出现。
iGaming执行单账户规则和自我排除,其中设备恢复是标准的规避手段。
常见问题
这在网页上有效吗,还是只在移动应用中有效?
两者都有效。完整性信号的深度在原生移动端更强,因为操作系统暴露了更多信息——像DEVICE_ROOTED_OR_JAILBROKEN和DEVICE_APP_TAMPERED这样的代码是原生应用的概念。网络会话仍然会产生网络和设备关联信号。
一个坚定的攻击者能击败设备指纹识别吗?
是的,部分可以——这就是为什么它只是众多家族之一,而不是全部答案。目标不是完美的识别,而是成本。攻击者每增加一层规避措施,都会增加其金钱和工程时间成本,而规避工具本身也会触发完整性代码。一个击败了设备指纹识别的攻击者通常会在其他信号家族中显现。
0.03美元实际能买到什么?
对一个会话进行一次IP和设备分析检查,返回完整的警告目录。按成功检查次数计费,无最低限制,并且已包含在0.33美元的完整验证套餐中。
私有网络信号足以拒绝吗?
不,拒绝它会让你失去真正的开发者。对于技术受众来说,匿名网络是普通的。记录它并将其用作佐证。
这与流量蒸馏检测有什么关系?
它不检测蒸馏。设备和网络信号告诉您关于客户端和账户的信息,而不是您的API流量内容。语义检测是存在于您自己的堆栈中的一个独立层。这些信号告诉您一个操作者正在运行多少个账户;您的流量层告诉您他们正在用这些账户做什么。
准备好开始了吗?
设备和网络分析是任何验证会话中的单一检查。
- 阅读文档——IP与设备分析概述和完整警告目录。
- 查看产品——用户验证。
- 查看定价——每次检查0.03美元,包含在0.33美元的套餐中,无最低限制。
- 免费开始——business.didit.me,每月500次免费KYC验证。