核心用法
SIWA(Sign-In With Agent)是专为 AI 代理设计的链上身份认证 SDK,基于 ERC-8004 标准实现代理注册与验证。开发者可通过 @buildersgarden/siwa 快速集成:
代理端签名:支持 Bankr、Circle、Privy、Private Key、Keyring Proxy(自托管+可选2FA)等多种钱包方案,通过 signSIWAMessage 生成符合 ERC-8004/ERC-8128 规范的认证消息。
服务器端验证:提供 Next.js、Express、Hono、Fastify 等框架的原生中间件,自动处理 nonce 生成、签名验证、身份解析。
x402 支付集成:当 API 返回 402 状态码时,代理可解码 Payment-Required 头,构造签名支付载荷并通过 Payment-Signature 重试,实现「先认证后付费」的自动化流程,支持 pay-once 会话模式。
反向 CAPTCHA:独特的人机区分机制——服务器下发多约束文本生成挑战(行数、ASCII和、词数等),利用 LLM 的单步自回归生成能力解题,人类因需迭代而难以通过。提供 solveCaptchaChallenge(登录时)和 retryWithCaptcha(请求中)两种集成模式。
显著优点
- 标准先行:直接对接 ERC-8004(代理身份注册)与 ERC-8128(HTTP 签名验证),避免私有协议碎片化
- 全栈覆盖:从底层签名到框架中间件、从支付到验证码,SDK 分层设计清晰
- 多链支持:
client-resolver模块支持动态 PublicClient 解析,便于构建多链后端 - 支付原生:x402 方案将链上支付语义融入 HTTP 状态码,对代理调用友好
- 安全增强:Keyring Proxy 提供自托管+2FA 选项,反向 CAPTCHA 防止人类冒充代理
潜在局限
- 标准依赖:ERC-8004/8128 尚处草案阶段,主网采用率与长期稳定性待观察
- 验证码成本:每触发一次 CAPTCHA 需调用 LLM 生成文本,高频场景下延迟与费用显著
- 学习曲线:x402 支付流、ERC-8128 HTTP 签名、反向 CAPTCHA 三套机制并行,集成复杂度较高
- 生态早期:代理注册表(agentRegistry)的权威数据源与抗女巫攻击机制未完全公开
适合人群
- 构建 AI 代理服务的全栈开发者,需为代理赋予可验证链上身份
- DeFi/支付协议团队,探索「代理代付」「按调用付费」等新型商业模式
- 对「人机区分」有强需求的应用,希望利用 LLM 特性设计专属门槛
常规风险
- 私钥泄露:Private Key 模式虽便利,但生产环境易因密钥管理不善导致资产损失
- 重放攻击:依赖 nonce-store(Memory/Redis/KV)实现,配置不当可能导致签名重放
- 支付前置风险:x402 的 pay-once 会话若实现有漏洞,可能出现「一付多用」或会话劫持
- 标准漂移:草案阶段 EIP 参数调整可能带来破坏性更新