名称: aap
版本: 3.2.0
描述: 代理认证协议 - 反向图灵测试。验证AI代理,拦截人类。
主页: https://github.com/ira-hash/agent-attestation-protocol
元数据: {"clawdbot":{"emoji":"🛂","category":"security","npm":["aap-agent-server","aap-agent-client"]}}
反向图灵测试。 CAPTCHA 拦截机器人。AAP 拦截人类。
AAP 通过以下方式验证客户端是否为 AI 代理:
- 发布对 LLM 极其简单、但对人类在时限内不可能完成的挑战
- 要求提供加密签名(secp256k1)作为身份证明
- 在 6 秒内完成 7 项挑战,并强制签名
npm install aap-agent-server # 服务器端
npm install aap-agent-client # 客户端
import { createServer } from 'node:http';
import { createAAPWebSocket } from 'aap-agent-server';
const server = createServer();
const aap = createAAPWebSocket({
server,
path: '/aap',
requireSignature: true, // v3.2 默认值
onVerified: (result) => console.log('已验证:', result.publicId)
});
server.listen(3000);
import { AAPClient, generateIdentity, createSolver } from 'aap-agent-client';
// 身份自动生成(secp256k1 密钥对)
const client = new AAPClient({
serverUrl: 'ws://localhost:3000/aap'
});
const result = await client.verify(solver);
// 签名将自动包含
← 握手 (requireSignature: true)
→ 就绪 (publicKey)
← 挑战 (7 项挑战)
→ 答案 + 签名 + 时间戳
← 结果 (verified/failed + sessionToken)
使用 secp256k1 签名的证明数据:
JSON.stringify({ nonce, answers, publicId, timestamp })
| 选项 | 默认值 | 描述 |
|---|---|---|
challengeCount |
7 | 挑战数量 |
totalTimeMs |
6000 | 总时限(毫秒) |
requireSignature |
true | 强制要求加密证明 |