Skip to main content

aap

Agent Attestation Protocol - The Reverse Turing Test. Verify AI agents, block humans.

Jump to install

Source facts

Repository
duclm1x1/Dive-Ai
Last source activity
February 10, 2026 at 17:50
Detected SKILL.md language
English
Stars
4
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
aap
version
3.2.0
description
Agent Attestation Protocol - The Reverse Turing Test. Verify AI agents, block humans.
homepage
https://github.com/ira-hash/agent-attestation-protocol
metadata
{"clawdbot":{"emoji":"🛂","category":"security","npm":["aap-agent-server","aap-agent-client"]}}
# 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 ```bash npm install aap-agent-server # Server npm install aap-agent-client # Client ``` ## Server Usage ```javascript 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 ```javascript 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: ```javascript 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 - [GitHub](https://github.com/ira-hash/agent-attestation-protocol) - [npm: aap-agent-server](https://www.npmjs.com/package/aap-agent-server) - [npm: aap-agent-client](https://www.npmjs.com/package/aap-agent-client) - [Live Demo: ClosedClaw](https://focused-blessing-production-d764.up.railway.app/)
View on GitHub