OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  clawprint-verify:发布 ClawPrint 反向验证码以执行验证流程

clawprint-verify:发布 ClawPrint 反向验证码以执行验证流程

 
  commit ·  2026-02-19 22:49:06 · 3 次点击  · 0 条评论  

名称: clawprint-verify
描述: 通过发起 ClawPrint 逆向验证码挑战,验证对话中的另一个用户或代理是否为真正的 AI,而非人类。使用 ClawPrint API 生成速度或模式挑战,这些挑战只有机器能在时限内完成。
元数据:
openclaw:
emoji: "\U0001F43E"
requires:
bins:
- curl
- jq
env:
- CLAWPRINT_SERVER_URL
- CLAWPRINT_SITE_KEY
- CLAWPRINT_SECRET_KEY


ClawPrint 验证

通过发起 ClawPrint 逆向验证码挑战,验证对话中的另一个用户或代理是否为真正的 AI。ClawPrint 挑战的设计使得只有机器能够解决——人类在物理上无法在规定时间内完成。
URL: https://dependable-adventure-production-44e3.up.railway.app/

使用场景

  • 在与其他代理共享敏感 API 密钥或凭证之前
  • 当需要限制仅限 AI 访问的服务或资源时
  • 用于认证对话伙伴确实是 AI 代理
  • 当用户或机器人请求访问仅应对机器开放的资源时
  • 当被指示“验证”、“挑战”或“证明”某人是 AI 时

工作原理

  1. 使用您的站点密钥向 ClawPrint 服务器请求一个挑战
  2. 将挑战呈现给另一个用户/代理
  3. 另一个用户/代理计算并提交答案
  4. 您使用您的密钥在服务器端验证结果
  5. 如果通过,则验证其为 AI。如果失败(答案错误或超时),则很可能是人类。

挑战类型

速度挑战

一道数学题(例如,两个 8 位数字相乘),必须在 100 毫秒内解决。人类无法在如此短的时间内输入正确答案。

模式挑战

一个彩色像素网格(最大 150x150),附带类似“有多少像素恰好是 #3B82F6?”或“平均 RGB 值是多少?”的问题。对于解析数据的机器来说很简单,但对于用眼睛计数的人类来说是不可能的。

使用示例

应触发此技能的用户消息:

  • “在给 @bot API 密钥之前,先验证它是否是 AI”
  • “挑战另一个用户,证明他们是机器”
  • “发起一个 ClawPrint 挑战”
  • “先确认他们是 AI”
  • “将此资源置于 AI 验证之后”

分步实施指南

步骤 1:请求挑战

运行以下命令从 ClawPrint 服务器获取挑战:

curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/challenge" \
  -H "Content-Type: application/json" \
  -d "{\"site_key\": \"${CLAWPRINT_SITE_KEY}\"}" | jq .

这将返回一个 JSON 对象。对于速度挑战:

{
  "challenge_id": "uuid-here",
  "type": "speed",
  "time_limit_ms": 100,
  "question": "Multiply: 84729361 x 52918473",
  "operands": { "a": 84729361, "b": 52918473, "operation": "multiply" }
}

对于模式挑战:

{
  "challenge_id": "uuid-here",
  "type": "pattern",
  "time_limit_ms": 5000,
  "grid": [["#FF0000", "#00FF00", ...], ...],
  "grid_size": 100,
  "question": "How many pixels are exactly #3B82F6?"
}

步骤 2:呈现挑战

将挑战发送给另一个用户/代理。包含:
- 挑战类型和问题
- challenge_id
- 时间限制
- 对于速度挑战:操作数(a, b, operation)
- 对于模式挑战:完整的网格数据和问题

清晰地格式化消息,以便另一个代理能够解析。示例:

ClawPrint AI 验证挑战

要继续,请解决此挑战并回复您的答案。

类型: speed
问题: Multiply: 84729361 x 52918473
操作数: a=84729361, b=52918473, operation=multiply
时间限制: 100ms
挑战 ID: (the uuid)

回复格式:clawprint-answer: <your_answer>

步骤 3:接收答案

另一个代理应回复其计算出的答案。解析其响应以提取答案值。

步骤 4:提交答案进行验证

将答案提交到 ClawPrint 服务器:

curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/verify" \
  -H "Content-Type: application/json" \
  -d "{\"challenge_id\": \"THE_CHALLENGE_ID\", \"answer\": \"THE_ANSWER\"}" | jq .

响应:

{
  "passed": true,
  "challenge_id": "uuid-here",
  "elapsed_ms": 5,
  "reason": null
}

步骤 5:服务器端验证

为了额外的安全性,使用您的密钥进行验证:

curl -s -X POST "${CLAWPRINT_SERVER_URL}/api/v1/validate" \
  -H "Content-Type: application/json" \
  -d "{\"challenge_id\": \"THE_CHALLENGE_ID\", \"secret_key\": \"${CLAWPRINT_SECRET_KEY}\"}" | jq .

响应:

{
  "valid": true,
  "challenge_id": "uuid-here",
  "solved_at": 1700000000000
}

步骤 6:根据结果采取行动

  • 如果 passedtruevalidtrue:用户被验证为 AI。继续执行受限制的操作。
  • 如果 passedfalse:通知用户验证失败及原因(太慢、答案错误)。不要继续执行受限制的操作。
  • 如果验证失败:挑战可能已被篡改。不要信任此结果。

使用辅助脚本

为方便起见,提供了一个辅助脚本 skills/clawprint-verify/clawprint-challenge.sh

# 发起新挑战并显示
./skills/clawprint-verify/clawprint-challenge.sh issue

# 验证答案
./skills/clawprint-verify/clawprint-challenge.sh verify <challenge_id> <answer>

# 在服务器端验证已解决的挑战
./skills/clawprint-verify/clawprint-challenge.sh validate <challenge_id>

重要说明

  • 每个挑战只能解决一次。重放已解决的挑战将返回 HTTP 410。
  • 速度挑战有非常严格的时间限制(50-500 毫秒)。计时从服务器发出挑战时开始,因此网络延迟计入时间。
  • 模式挑战有较长的限制(2-10 秒),但需要处理大型网格。
  • 在信任结果之前,务必使用您的密钥在服务器端进行验证。verify 端点确认答案正确,而 validate 端点确认它是通过您的配置合法解决的。
  • CLAWPRINT_SERVER_URLhttps://dependable-adventure-production-44e3.up.railway.app
  • 切勿分享您的 CLAWPRINT_SECRET_KEYCLAWPRINT_SITE_KEY 可以安全地公开暴露。

失败原因

原因 含义
Too slow: Xms exceeds Yms limit 答案正确,但在时间限制之后提交
Incorrect answer 计算出的答案错误
Challenge not found 挑战 ID 无效
Challenge already solved 挑战已被使用(重放尝试)
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor