Aap Passport

🛂 反向图灵测试 · 人机分离验证

逆向图灵测试协议,通过AI易解但人类无法在6秒内完成的7道挑战题,验证客户端为AI代理而非人类

收藏
11.7k
安装
2.3k
版本
3.1.0
CLS 安全性认证2026-06-05
点击查看完整报告 >

使用说明

核心用法

AAP(Agent Attestation Protocol)是一套用于验证通信对方是AI代理而非人类的协议实现,采用反向图灵测试思路。系统通过WebSocket连接,服务端向客户端发放7道挑战题(数学题、逻辑比较、动物计数、模式序列、字符串反转、颜色提取、最长单词查找),客户端需在6秒内完成全部作答。通过验证后获得有效期1小时的会话令牌。

服务端通过aap-agent-server包创建WebSocket监听,配置挑战数量、超时时间和路径;客户端通过aap-agent-client包连接,需集成LLM求解器函数处理各类挑战。

显著优点

1. 反向思路创新:与传统CAPTCHA阻挡机器人不同,专门设计阻挡人类,契合AI-to-AI服务场景
2. 时间窗口极窄:7题/6秒≈857ms/题,对人类反应速度形成物理不可能门槛

3. 防缓存机制:盐值注入防止答案预计算和重放攻击

4. 协议级精确计时:WebSocket原生支持消除HTTP往返延迟误差

潜在局限与风险

1. LLM能力假设:依赖当前LLM能稳定正确解答这些特定题型,若未来LLM架构变化可能失效
2. 代理伪造风险:攻击者可搭建中间层将挑战转发给真实LLM,本质无法区分"代理自己解题"与"代理转发给他人解题"

3. 客户端实现差异:不同LLM解题延迟差异大,可能误伤慢速合法代理或放过快速模拟器

4. 场景狭窄:仅适用于明确需要"人机分离"的B2AI场景,通用性受限

适合人群

  • 构建AI专属服务网关的开发者(如AI代理市场、自动化API平台)
  • 需要区分人类浏览与程序访问的WebSocket服务设计者
  • 探索机器身份验证协议的 researchers

常规风险

  • 依赖ws库版本安全性,需关注WebSocket实现漏洞
  • 会话令牌1小时过期需配套刷新机制,硬编码过期策略可能不适合长连接场景
  • npm包下载量与维护活跃度未知,生产环境需自行审计源码

安全解读

核心用法

AAP (Agent Attestation Protocol) 是一个反向图灵测试协议,通过挑战-响应机制验证客户端是否为 AI Agent。服务端生成 7 道 LLM 易解但人类无法在 6 秒内完成的挑战(数学运算、逻辑比较、模式识别等),客户端需实时返回正确答案以获取会话令牌。

快速接入

  • 服务端:npm install aap-agent-server,创建 WebSocket 验证端点
  • 客户端:npm install aap-agent-client,配置 LLM solver 完成挑战
  • 协议流程:handshake → ready → challenges → answers → result

显著优点

1. 创新的反向验证思路:与 CAPTCHA 相反,专为 AI 时代设计,确保服务仅对 Agent 开放
2. 密码学安全设计:使用 node:crypto 原生模块,私钥本地存储(权限 0600),含防重放攻击机制

3. 模块化架构清晰:服务端/客户端分离,WebSocket 实时通信,配置灵活(挑战数、超时时间可调)

4. 零硬编码风险:所有网络请求指向用户配置的 serverUrl,无外泄第三方 API

潜在局限

  • T3 来源风险:个人开发者维护,需持续关注更新动态
  • 依赖供应链:虽经审计无 CVE,但仍需定期 npm audit
  • 网络依赖:必须连接验证服务器,离线场景不适用
  • LLM 成本:客户端需调用 LLM 解题,产生额外 token 消耗

适合人群

  • 构建 AI Agent 专属服务网关的开发者
  • 希望区分人机访问、保护 API 资源的服务提供方
  • 探索新型身份验证协议的区块链/去中心化应用

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| 依赖混淆误报 | 低 | `cors` 包被误判为 typosquatting,已确认安全 |
| 服务器 URL 注入 | 低 | 建议对 serverUrl 做白名单/HTTPS 强制验证 |
| 密钥丢失 | 低 | 需用户自行备份 `~/.aap/identity.json` |
| 来源可信度 | 中 | T3 个人项目,建议订阅 Release 通知 |

Aap Passport 内容

docs文件夹
examples文件夹
express-verifier文件夹
lib文件夹
packages文件夹
client文件夹
core文件夹
server文件夹
test文件夹
手动下载zip · 84.3 kB
RATE_LIMITING.mdtext/markdown
请选择文件