API 曾经有一个很简单的流量模型。开发者注册、拿到 key、编写集成,然后该集成按计划或在用户点击时调用你的 endpoint。面向 API 的机器人管理就是围绕这个模型发展起来的: 验证 key、限制流量、过滤明显的滥用请求,并让服务对其他人保持可用。
这个模型依然成立,围绕它构建的工具也依然重要。变化在于调用背后是谁在执行。同一个 API key 现在可能承载来自客户应用中某个人的请求,来自要求 AI 助手代为完成工作的人的请求,以及来自夜间执行多步骤任务的自主 agent 的请求。你现有的控制措施只能看到一个 key 和一个请求速率,而你的产品、支持和 policy 决策往往需要更多信息。
Proof of Actor 弥补了这个空白。它向你的 API 说明每个请求背后是谁或什么在行动,并给出 evidence,然后把决定权留给你的代码。本页将它与 API 机器人防护的主要层进行对比,帮助你了解各自的位置。
简短结论
| API 机器人防护 | Proof of Actor | |
|---|---|---|
| 主要问题 | 这个请求是否允许、是否已认证、是否在限制内? | 谁或什么在执行,依据是什么? |
| 典型层 | API 网关、WAF 机器人规则、API keys、速率限制 | 在你的 API 或 MCP server 内部进行 actor 分类 |
| 识别对象 | 拥有该 key 的账号或集成 | 每个请求背后的 actor: Human、Human + AI、Agent 或 Unknown |
| 输出 | allow、reject、throttle; 有时还有 bot score | 一个 class 加一个 basis: verified、declared、inferred 或 unknown |
| 不明确流量 | 通常在 key 有效时放行,或按规则拒绝 | Unknown,并按你选择的 route 进行回退 |
| 谁决定响应 | 网关和 WAF 配置 | 你的应用代码 |
| 安装后的默认行为 | enforcement | observation; 在你添加 policy 之前不会改变任何行为 |
| 最擅长 | 可用性、滥用过滤、配额、可追责性 | 为每类 actor 正确提供服务并理解 API 使用情况 |
下面各节会逐一说明。
API 机器人防护擅长什么
有必要明确每一层各自负责什么,因为 Proof of Actor 的设计是与它们并列,而不是取代任何一层。
API gateways
gateway 是你的 API 的前门。它终止连接,验证 API keys 或 tokens,将请求路由到正确的服务,执行配额限制,并且通常会记录使用情况以用于计费和分析。它快速而一致地回答“这个调用者是否允许进入,以及从哪扇门进入?”这个问题,覆盖每个 endpoint。
WAF bot rules
带有 bot rules 的 web application firewall 会检查流量中的已知攻击模式和滥用型自动化行为。它可以过滤注入尝试,阻止来自有滥用历史来源的流量,并对看起来像爬取或凭证攻击的请求进行 challenge 或直接丢弃。这是防止不应到达你代码的流量的最佳防线。
API keys 和 tokens
keys 和 tokens 提供可追责性。每个请求都会映射到某个账号,因此你知道是谁的集成发起了调用,你可以撤销访问权限,并且可以归因使用情况。作用域 token 还能进一步限制调用者可以执行的操作。
速率限制
速率限制保护可用性。它们防止某个集成消耗原本应服务于所有人的容量,也能减缓暴力破解和枚举攻击。按 key 和按 route 进行限制,是标准且有效的控制措施。
这些层放在一起时,已经能很好地回答防护和可追责这两个问题。请保留它们。
它们原本没有被设计用来回答的问题
上述任何一层都不是为了告诉你,经过认证的请求背后是哪一类 actor。有效的 key 只能说明哪个账号拥有该集成。它并不能说明:
- 这个具体调用是否来自你客户应用里点击按钮的人,
- 是否有人要求 AI 助手执行该动作,
- 是否某个自主 agent 作为更长任务中的一步发起了调用,
- 或者是否无法判断。
这个区别每个月都更重要。服务于 CRM 集成、排程工具或开发者平台的 API,越来越多地会通过同样的 key 接收 agent 流量,而这些 key 同时也服务于由人驱动的应用。如果你希望给 agent 返回结构化响应,对 agent 驱动的高影响写操作要求确认,为 AI 辅助提交添加标签,或者只是统计你的 API 使用中有多少来自 agent,你就需要 actor 上下文。
Proof of Actor 为 API 增加了什么
Proof of Actor 会为每次交互返回四种 class 之一:
- Human: 可观察到的信号表明这是由人直接驱动的交互。
- Human + AI: 由人发起,并通过支持的集成声明或观察到有 AI 辅助。
- Agent: 自动化或由 agent 发起的交互。
- Unknown: 证据不足以得出可靠判断。
每个结果还会说明其 evidence basis:
- Verified: 例如,经过发布的 key 校验的 HTTP Message Signature (RFC 9421)。
- Declared: 客户端或你自己的应用已声明这一点。
- Inferred: 行为或上下文信号,并明确标注为推断。
- Unknown: 没有可靠 basis。
对于 API,verified basis 尤为有用。对请求进行签名的 agent 可以根据其已发布的 key 进行检查,这也是 IETF Web Bot Auth 工作背后的方法。关于背景,请阅读面向产品团队的 Web Bot Auth 说明;关于实现,请参阅 验证已签名 agent 请求 指南。
这里有一个限制需要注意。有效签名只能证明是哪个 key 对请求进行了签名,并不能证明该 agent 被授权执行该操作。授权仍然应该留在它所属的位置,也就是你的 API 自身的访问控制中。agent authorization 条目解释了两者的区别。
分数和 key 与 actor evidence 的区别
一些机器人防护产品会为每个请求附加分数。分数适合用于阻断决策,但对于 API 产品决策来说,作用较小,因为它无法告诉你一个合法请求是由人驱动还是由 agent 驱动,也无法区分已验证事实和推断。
API keys 的限制则相反。它们在所有权上很精确,但对 actor 保持沉默。某个客户的 key 在一小时内就可能承载全部四种 class。
Proof of Actor 会让这两个区别都保持可见。你的 API 可以看到来自 key 的账号、来自 Proof of Actor 的 actor class,以及支持该判断的 basis。每一层都回答它最擅长的问题。
每一层运行在哪里
gateway 和 WAF 运行在你网络的边缘,或者位于你的服务之前。这个位置非常适合做防护和配额控制。
Proof of Actor 运行在你的 API 逻辑所在之处。Founding 团队可以通过 Node.js middleware、Next.js、你控制的 edge 层、通用 HTTP API,或者 MCP server 集成来接入。完整列表请参见 integrations。由于它运行在你的应用内部,它可以使用你的 API 已知的信息: route、workflow、客户端是否声明了自己,以及签名是否验证通过。
路由决策仍然由你的代码负责
Proof of Actor 默认不会阻断任何内容。它从 observation mode 开始,因此安装它不会改变你的 API 响应方式。你可以看到按 endpoint 统计的 actor 组合,查看单个结果的 evidence,并观察 Unknown 比例。
当你准备好后,可以按 route、按 actor class 和按 basis 编写应用定义的 policy。常见结果包括:
- Allow: 正常提供请求服务。
- Adapt: 为已验证的 agent 返回结构化或精简后的响应。
- Challenge: 要求额外确认步骤,例如在高影响写操作前进行人工批准。
- Review: 将该操作排入队列,交由人工检查。
- Rate-limit: 在特定 route 上对特定 class 和 basis 施加更严格的限制。
你可以先在真实流量上预览 policy,然后再逐 route 执行 enforcement。关于流程,请参阅 安全推出具备 actor 感知的 policy 指南;在不阻断 agent 的情况下保护敏感操作 展示了常见模式。
处理 Unknown API 调用者
每个 API 都会收到无法高置信度分类的流量。传统控制中,有效 key 通常意味着请求放行,无效 key 则意味着拒绝。中间没有状态。
Proof of Actor 提供明确的 Unknown 结果,并允许你按 route 选择回退策略。只读目录 endpoint 可以保持开放。账号变更可以继续沿用你现有的更严格检查。批量导出可以进入 review。详情请参见 处理 Unknown 流量 和 未知的自动化流量。
它们如何协同工作
最强的 API 架构会让每一层各司其职:
- 在边缘,WAF 过滤滥用和格式异常的流量。
- 在网关,验证 keys、执行配额并记录使用情况。
- 在 API 内部,Proof of Actor 对每个通过的请求进行分类并给出 basis。
- 在你的 handler 中,policy 使用 class 和 basis 选择响应: 对由人驱动的调用正常处理,对已验证的 agent 返回结构化响应,对 agent 驱动的高影响写操作要求确认,对 Unknown 使用回退策略。
- 在分析中,你的团队可以看到每个 actor class 使用了哪些 endpoint 和 workflow,同时结合来自网关的账号数据。
这个栈中没有重复的职责。网关知道账号,WAF 知道威胁模式,而 Proof of Actor 知道 actor。
什么时候优先关注哪一项
当你的主要问题是滥用、可用性或未计量使用时,先关注 API 机器人防护: 针对 auth endpoint 的凭证攻击、激进爬取,或某个集成占满其他集成容量。
当你的主要问题是调用者本身时,优先关注 Proof of Actor: 你的 API 流量中有多少由 agent 驱动,哪些 agent 调用哪些 endpoint,人驱动和 agent 驱动的使用有何差异,以及哪些 route 需要 actor-aware policy。APIs use case 和 AI agent identification for APIs 会进一步展开。
运行生产 API 的大多数团队都需要同时回答这两类问题。
开始使用
Proof of Actor 目前处于 private beta。入选的 Founding developer 团队可在约定使用范围内免费使用最长 12 months,并且不会自动计费。申请 early access,并告诉我们你想理解的 API 以及调用者。