跳到主要内容
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
返回博客
博客 · 2026年8月4日

九头蛇账户网络:两万账户如何汇聚成一个行为者 (ZH)

砍掉一个账户,又会出现两个。九头蛇网络天生就能规避逐账户审查。本文将探讨跨账户关联——通过面部、设备、IP、电子邮件、电话——如何将数千个账户汇聚成一个可识别的行为者。.

作者:Didit更新于
hydra-account-networks-ai-api-abuse.png

Anthropic 在 2026 年 2 月关于蒸馏攻击的报告中最有用的数字,不是 1600 万次交换或大约 24,000 个欺诈账户。而是这句话:“一个代理网络同时管理着超过 20,000 个欺诈账户。”

同时。两万个账户,在同一个操作员控制下同时活跃。

这就是一个九头蛇网络,它是一种特定的对抗设计——不是疏忽,不是投机,而是一种明确为了应对其预期的防御而构建的架构。理解它为何有效是破解它的先决条件,因为它所利用的失败不是缺少规则或调整不当的阈值。这是对防御措施衡量方式的范畴错误。

主要收获

  • 九头蛇网络将一个活动分散到数千个账户中,因此没有单个账户会超出任何逐账户阈值。
  • 降低阈值无济于事。攻击者只会增加账户——这是系统中成本最低的投入。
  • 暴露这些网络的信号是关联性的:共享设备、共享网络、共享支付方式、共享时间、共享生物识别信息。逐账户的判断无法产生这些信号。
  • 人脸搜索 1:N 将两个账户关联到同一个人。设备和 IP 分析将账户关联到共享基础设施。它们共同将账户图谱坍缩为行为者图谱。
  • 在此背景下最有价值的单个代码是 DEVICE_RECOVERED_HIGH_CONFIDENCE——一个之前出现过的设备,在重置或重新安装后再次出现。这是再生,在入口处就被捕获。
  • 关联并非指控。重复信号默认具有信息性——您来决定策略。

九头蛇网络的真实面貌

抛开细节,九头蛇网络具有四个特性。

横向分布。工作量被划分,使得每个账户的行为都处于正常范围内。Anthropic 描述的模式“暗示了‘负载均衡’”——这是一个非常恰当的词。这是一个用基础设施思维解决基础设施问题的方法。

廉价再生。新账户的创建速度比旧账户的移除速度更快。每次移除对于供应来说都只是一个四舍五入的误差。

共享底层。表面之下,这些账户运行在有限的真实资源池上——设备、IP 范围、电话号码、支付工具,以及在许多情况下,少数实际人类完成任何存在的检查。

行为同质性。由于由一个操作员驱动所有账户,这些账户趋于一致。Anthropic 观察到“相同的模式、共享的支付方式和协调的时间”,以及“数万次通过数百个协调账户”到达的提示变体。

第三个特性是漏洞。在账户层面分布是廉价的,而在物理层面则是昂贵的。您可以免费创建 20,000 个电子邮件地址。您无法在不产生相应成本的情况下创建 20,000 张人脸、20,000 部未经修改的手机或 20,000 个不相关范围内的住宅 IP 地址。

每个九头蛇网络的底部都比顶部窄。整个游戏的重点在于衡量底部。

为什么阈值是错误的工具

考虑一个平台,它会标记任何在一个月内请求量超过 50,000 次且查询分布集中的账户。这是一个合理的规则。对于单个滥用账户来说,它有效。

对于拥有 20,000 个账户的操作员来说,这意味着每个账户可以发出 2,500 次请求而无需被审查——总计 5,000 万次请求,完全不被发现。将阈值降至 5,000,操作员会将每个账户的请求量降至 250 次,并在需要时增加账户。每次降低阈值都会增加对真实开发者的误报,而攻击者几乎不损失什么。

这是一场失败的交换,其失败的原因是结构性的:阈值是以攻击者控制的单位来衡量的。

攻击者选择使用多少个账户。他们无法选择自己拥有多少张人脸、多少台物理设备,或者他们能访问多少独立的网络路径。将衡量标准转移到攻击者无法控制的单位,经济学就会逆转。

关联原语

四个信号家族负责进行坍缩。每个都回答了“我以前见过这个吗?”的不同版本。

生物识别 — 这是同一个人吗?

人脸搜索 1:N 将一张人脸与您的应用程序已执行的所有已批准验证进行搜索。它包含在 Didit 身份验证中,并且在两秒内返回结果。

curl -X POST 'https://verification.didit.me/v3/face-search/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'user_image=@./selfie.jpg' \
  -F 'search_type=most_similar' \
  -F 'save_api_request=true' \
  -F 'vendor_data=account-8842'

响应包含一个单一的 face_search 对象 — { request_id, face_search: { ... } } — 带有 total_matches 和一个 matches 数组,其中每个匹配项都包含 session_idsimilarity_percentagevendor_dataverification_dateis_blocklisted。如果同一个操作员用同一张人脸验证了 40 个账户,一次调用就能发现所有 40 个账户 — 每个账户都有您自己的 vendor_data,因此您可以直接将它们映射回账户 ID。

这会在验证会话期间的活体检测中自动运行,因此在常见情况下,您无需进行单独调用即可获得信号。

设备 — 这是同一台机器吗?

设备和 IP 分析费用为 $0.03,并包含在 $0.33 的验证套餐中。对于账户倍增重要的代码有:

警告它告诉您什么
DUPLICATED_DEVICE_FINGERPRINT多个验证背后是同一台设备
DEVICE_RECOVERED_HIGH_CONFIDENCE以前见过的设备,在重置或重新安装后再次出现
DUPLICATED_IP_ADDRESS多个验证背后是同一个地址
AUTOMATION_FRAMEWORK_DETECTED客户端是脚本驱动而非人工驱动
DEVICE_EMULATOR_DETECTED模拟器,而非真实的手机
DEVICE_ROOTED_OR_JAILBROKEN受损的操作系统
DEVICE_RUNTIME_HOOKING_DETECTED客户端上的运行时注入
DEVICE_APP_TAMPERED被篡改的应用程序二进制文件
PRIVATE_NETWORK_DETECTED私人或匿名网络路径
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IP文档和网络地理位置不符

DEVICE_RECOVERED_HIGH_CONFIDENCE 值得特别关注。Didit 区分了重复设备恢复设备——在擦除、重置或重新安装应用程序后重新出现的设备。擦除设备是操作员在被封禁后重新生成账户的标准操作。该代码使九头蛇的再生步骤变得可见。

联系方式 — 这是同一个可联系的身份吗?

电子邮件和电话验证(电子邮件 $0.03;电话通过短信、WhatsApp、Telegram、RCS 或语音)测试联系点是否真实可达,而不仅仅是格式正确。农场账户严重依赖一次性地址和回收号码。电话值会标准化为 E.164,因此同一个号码无法隐藏在格式差异背后。

文件 — 这是同一个凭证吗?

身份验证在同一文件再次提交时发出 DUPLICATED_DOCUMENT 警告,在提交解析到已在您验证集中的人时发出 POSSIBLE_DUPLICATED_USER 警告。两者都能捕获即使面部或设备不同也共享凭证的账户——当文件号码在您的文件允许列表中时,POSSIBLE_DUPLICATED_USER 会被跳过,因此已知良好的凭证不会产生噪音。

从账户图谱到行为者图谱

这些警告单独来看只是警告。它们共同能使图谱坍缩。

假设您的流量层标记了账户 acct_7781——针对某个功能集中的查询,异常的时间。逐账户审查会给您一个关于一个账户的判断。

相反,获取该账户背后的验证会话并进行枢轴分析:

  1. 人脸 — 在您的已验证用户中搜索会话的人脸。有十二个账户共享它。
  2. 设备 — 会话带有 DUPLICATED_DEVICE_FINGERPRINT。另有九个账户共享该设备,其中四个不在人脸集中,因为不同的人完成了这些检查。
  3. 网络DUPLICATED_IP_ADDRESS 跨 CIDR 范围拉入另一个集群。
  4. 联系方式 — 三个新出现的账户共享一个 E.164 格式的电话号码。

一个被标记的账户已经变成了一个由三十多个账户组成的集群,这些账户是通过单个警报发现的,使用了在入职时就已经收集到的信号。而且您无需检查任何提示即可实现。流量层告诉您这里出了问题;身份解析告诉您问题有多严重

这也是它所能做到的极限。身份解析不能阻止模型提取,也不能检测模型提取。它永远看不到您的提示。它所做的是将一个警报转化为其背后完整的账户集,并使使用相同人脸、设备或网络的下一个账户的创建成本变得高昂。模型级别的输出控制和语义流量检测仍然是独立的、必要的层——而且它们仍然由您掌控。

保持诚信的规则

链接不是判决。

Didit 对此非常明确。在人脸搜索中,只有当找到黑名单匹配项时,status 才为 "Declined"。纯粹的重复匹配会返回 "Approved",并在警告中包含 DUPLICATED_FACE——这只是信息性的。重复数据删除策略由您而非我们决定。

这个默认值是正确的,因为重复情况有无辜的解释。一个开发者拥有个人账户和公司账户。一个共享的办公室网络为十几个不相关的工程师产生 DUPLICATED_IP_ADDRESS。一个家庭设备。一个大学实验室,二十名学生在同一个房间里进行验证。

使用链接的正确方法是将其作为提高或降低您已做出的决定的证据,而不是作为自动禁止。两个账户共享一张人脸本身很弱。十二个账户共享一张人脸、一台设备、一个网络范围和一个查询签名则一点也不弱。警告操作可以按代码配置——黑名单命中可以强制拒绝,而恢复设备信号则路由到审查——因此升级路径由您设置。

用例

AI API 平台将流量层警报与操作员控制的所有账户相关联,而不是禁止一个然后等待下一个。

试用和信用滥用——免费套餐滥用使用相同的机制。暴露蒸馏集群的相同原语也会暴露促销滥用集群。

市场和零工平台检测卖家或快递员在被移除后重新注册。

在线博彩强制执行单账户规则和自我排除,在这种情况下,同一个人以新身份返回是核心合规性失败。

常见问题

这是否需要存储生物识别数据?

人脸搜索针对您的应用程序通过先前验证构建的人脸索引运行——即 save_api_request=true 的会话,或 save_api_request=true 的被动活体检测。您可以控制哪些数据进入索引,并根据您自己的隐私声明和法律依据控制数据保留。如果您不注册人脸,1:N 搜索将无内容可搜。

如果操作员为每个账户使用不同的人呢?

那么生物识别层的作用会减弱,设备、网络和联系人层会承担更重要的作用——这正是关联使用多个独立家族而非单一家族的原因。付费请真实人类完成检查也是账户农场最昂贵的方式,这正是重点:它将攻击者推向需要规模化成本的领域。

1:N 搜索的速度有多快?

响应时间在两秒以内。它也会在验证会话期间的活体检测中自动运行,因此在大多数流程中,关联信号会随验证结果一起到达。

这会不会在共享网络上产生误报?

单独的 DUPLICATED_IP_ADDRESS 是一个弱信号,应按此处理——办公室、大学和移动运营商的 NAT 都会合法地产生它。将其权重设低,要求来自独立家族的佐证,并按代码配置操作,而不是在任何单个警告时拒绝。

我可以搜索从未经过 Didit 验证的人脸吗?

可以。人脸搜索接受任何 user_image(jpg、jpeg、png、tiff 或 webp 格式,最大 5 MB——不接受 PDF),并将其与您的索引进行搜索。如果未检测到人脸,则调用返回 HTTP 400。

准备好开始了吗?

跨账户关联在每个 Didit 账户上均可用——无需单独产品,没有最低限额。

身份与欺诈基础设施。

一个 API 即可实现 KYC、KYB、交易监控和钱包筛选。5 分钟即可集成。

让 AI 总结此页面
九头蛇账户网络与AI API滥用 | Didit.