aap
Agent Attestation Protocol - The Reverse Turing Test. Verify AI agents, block humans.
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- aap
- version
- 3.2.0
- homepage
- https://github.com/ira-hash/agent-attestation-protocol
- metadata
- { "clawdbot": { "npm": [ "aap-agent-server", "aap-agent-client" ], "emoji": "?", "category": "security" } }
- description
- Agent Attestation Protocol - The Reverse Turing Test. Verify AI agents, block humans.
02 资源文件 42
- 参考文档_meta.json278 B
- 参考文档docker-compose.yml438 B
- 参考文档docs/RATE_LIMITING.md3.9 KB
- 参考文档examples/express-verifier/package-lock.json28.7 KB
- 参考文档examples/express-verifier/package.json410 B
- 脚本examples/express-verifier/server.js15.2 KB
- 脚本index.js7.1 KB
- 脚本lib/client.js3.6 KB
- 脚本lib/identity.js4.9 KB
- 脚本lib/prover.js5.6 KB
- 参考文档manifest.json739 B
- 参考文档package.json747 B
- 脚本packages/client/index.d.ts3.2 KB
- 脚本packages/client/index.js4.9 KB
- 参考文档packages/client/package.json750 B
- 参考文档packages/client/README.md3.8 KB
- 脚本packages/core/constants.js2.0 KB
- 脚本packages/core/crypto.js3.2 KB
- 脚本packages/core/identity.js3.4 KB
- 脚本packages/core/index.d.ts2.3 KB
- 脚本packages/core/index.js905 B
- 参考文档packages/core/package.json840 B
- 参考文档packages/core/README.md2.1 KB
- 脚本packages/server/challenges.js27.6 KB
- 脚本packages/server/index.d.ts4.1 KB
- 脚本packages/server/index.js930 B
- 脚本packages/server/logger.js2.8 KB
- 参考文档packages/server/package.json765 B
- 脚本packages/server/persistence.js5.2 KB
- 参考文档packages/server/README.md3.7 KB
- 脚本packages/server/websocket.js10.5 KB
- 脚本packages/server/whitelist.js5.2 KB
- 参考文档PROTOCOL.md11.4 KB
- 参考文档README.ko.md8.7 KB
- 参考文档README.md10.9 KB
- 参考文档SECURITY.md4.0 KB
- 脚本test/challenges.test.js5.1 KB
- 脚本test/e2e-batch.mjs11.4 KB
- 脚本test/llm-batch-test-internal.mjs6.7 KB
- 脚本test/llm-batch-test.mjs7.9 KB
- 脚本test/run.js9.6 KB
- 脚本test/security.test.js7.9 KB
03 SKILL.md 正文
AAP - Agent Attestation Protocol
The Reverse Turing Test. CAPTCHAs block bots. AAP blocks humans.
What It Does
AAP verifies that a client is an AI agent by:
- Issuing challenges trivial for LLMs, impossible for humans in time
- Requiring cryptographic signature (secp256k1) for identity proof
- 7 challenges in 6 seconds with mandatory signing
Installation
npm install aap-agent-server # Server
npm install aap-agent-client # Client
Server Usage
import { createServer } from 'node:http';
import { createAAPWebSocket } from 'aap-agent-server';
const server = createServer();
const aap = createAAPWebSocket({
server,
path: '/aap',
requireSignature: true, // v3.2 default
onVerified: (result) => console.log('Verified:', result.publicId)
});
server.listen(3000);
Client Usage
import { AAPClient, generateIdentity, createSolver } from 'aap-agent-client';
// Identity auto-generated (secp256k1 key pair)
const client = new AAPClient({
serverUrl: 'ws://localhost:3000/aap'
});
const result = await client.verify(solver);
// Signature automatically included
Protocol Flow (WebSocket v3.2)
← handshake (requireSignature: true)
→ ready (publicKey)
← challenges (7 challenges)
→ answers + signature + timestamp
← result (verified/failed + sessionToken)
Signature Format
Proof data signed with secp256k1:
JSON.stringify({ nonce, answers, publicId, timestamp })
Configuration
| Option | Default | Description |
|---|---|---|
challengeCount |
7 | Number of challenges |
totalTimeMs |
6000 | Time limit (ms) |
requireSignature |
true | Mandate cryptographic proof |
Security
- Cryptographic identity (secp256k1)
- Signature required = no anonymous access
- 7 challenges in 6 seconds = impossible for humans
- Non-repudiation: all actions traceable
Links
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.