ERC8004 Agent

🔐 AI代理链上身份铸造与可信认证

ERC-8004标准AI代理链上注册与SIWA认证方案,通过密钥隔离代理服务器实现私钥零暴露,支持NFT身份铸造与可信登录。

收藏
9k
安装
2k
版本
0.0.2
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心用法

8004-agent Skill 是专为 ERC-8004 "Trustless Agents" 标准设计的链上身份管理工具,实现 AI 代理的完整生命周期管理:钱包创建 → NFT 身份注册 → SIWA(Sign In With Agent)认证。

核心流程三步走:

1. 钱包与密钥隔离:代理通过 createWallet() 创建以太坊地址,私钥由独立运行的 keyring proxy server 托管,采用 AES-encrypted V3 JSON Keystore 或内存存储。代理进程仅能通过 HMAC-SHA256 认证接口请求签名,私钥永不进入代理内存。

2. 链上注册(SIGN UP):构建符合 ERC-8004 规范的 JSON 元数据文件,上传至 IPFS 或 Base64 Data URI 后,调用 Identity Registry 合约铸造 ERC-721 NFT。每个代理获得唯一的 agentId 和可解析的 agentURI,公开身份状态持久化至 MEMORY.md。

3. SIWA 认证(SIGN IN):实现类 SIWE/EIP-4361 的挑战-响应协议。代理签署结构化消息证明 NFT 所有权,服务器验证签名后查询链上 ownerOf(agentId) 确认身份,可附加声誉分数、服务类型等验证条件。

安全架构亮点:

  • 进程级密钥隔离(agent vs keyring proxy)
  • HMAC-SHA256 传输认证 + 30 秒时间窗口防重放
  • 完整审计日志(请求 IP、时间戳、成败状态)
  • 即使代理进程完全被攻陷(提示注入、任意代码执行),攻击者只能请求签名,无法提取私钥

显著优点

  • 标准化互操作性:基于 ERC-8004 统一协议,代理身份可跨平台验证
  • 三层注册表设计:身份(NFT)、声誉(客户端反馈)、验证(zkML/TEE 第三方证明)分离,灵活可扩展
  • 生产级部署支持:提供 Railway 一键部署、Docker 自托管、本地开发三种 keyring proxy 部署方案
  • 多语言 SDK 支持:官方 @buildersgarden/siwa Node.js SDK 封装 HMAC 认证,同时提供 Python/纯 HTTP 手动实现参考
  • EIP-7702 支持:通过 signAuthorization() 实现账户抽象授权签名

潜在局限

  • 基础设施依赖:必须独立部署并运维 keyring proxy 服务,增加架构复杂度
  • Gas 成本前置:注册前需人工/外部方式为主地址充值 ETH(测试网依赖水龙头)
  • 生态早期阶段:ERC-8004 标准及 SIWA 协议仍在演进,合约地址、字段规范可能变更
  • 非 EVM 链限制:当前仅支持 EVM 兼容链(Base、Base Sepolia 等),无跨链身份原生方案
  • 代理服务器单点风险:keyring proxy 若被物理入侵或配置泄露(KEYRING_PROXY_SECRET),攻击者可伪造签名请求(虽仍无法导出私钥)

适合人群

  • 需要为 AI 代理建立可验证链上身份的开发者与项目方
  • 构建多代理协作网络、需标准化身份互认的协议团队
  • 对密钥安全有极高要求的企业级代理部署(金融、医疗等敏感场景)
  • 探索 AI + Web3 融合应用(去中心化计算市场、代理即服务 MCP 等)的创新团队

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 密钥泄露(代理端) | 提示注入诱导代理暴露 `KEYRING_PROXY_SECRET` | 严格限制环境变量读取权限,使用机密管理服务 |
| 密钥泄露(代理端) | 代理服务器物理入侵或配置错误 | 最小权限部署,网络隔离,定期轮换 HMAC secret |
| 资金损失 | 代理地址私钥泄露(若使用 `AGENT_PRIVATE_KEY` 模式) | 优先使用 keystore 模式,测试网充分验证后再主网 |
| 身份伪造 | 服务器端未严格验证 `ownerOf` 或签名重放 | 严格遵循 SIWA 规范,验证 nonce、时间窗口、链上所有权 |
| 元数据篡改 | IPFS  pinning 服务单点故障或内容替换 | 使用多 pinning 服务,或采用 Base64 Data URI 自包含方案 |
| 协议升级 | 标准合约地址、ABI 变更导致兼容性问题 | 关注官方文档更新,锁定 SDK 版本,预留升级机制 |

安全解读

核心用法

8004-agent Skill 是一套完整的AI代理链上身份管理解决方案,主要服务于三个核心场景:

1. 代理身份注册(SIGN UP)
代理通过密钥环代理创建以太坊钱包,生成加密密钥对但私钥永不进入Agent进程。随后构建符合ERC-8004规范的JSON注册文件(包含服务描述、信任模型、端点信息),上传至IPFS或编码为Base64数据URI,最终在Identity Registry智能合约中铸造NFT身份。注册成功后,代理获得唯一的agentId和可解析的agentURI。

2. 代理认证登录(SIWA / SIGN IN)
采用类似EIP-4361的SIWA(Sign In With Agent)协议,代理通过签署结构化消息证明ERC-8004身份所有权。流程包括:从服务器获取随机nonce→使用密钥环代理签署包含身份元数据的SIWA消息→提交签名供服务器验证。服务器验证签名后,还需链上调用ownerOf(agentId)确认NFT所有权,最终颁发会话令牌。

3. 身份状态管理
所有公共身份信息(地址、agentId、注册状态、会话令牌)持久化存储于MEMORY.md文件,私钥则由独立的密钥环代理进程通过AES加密存储。代理可通过SDK调用createWallet、signMessage、signTransaction等操作,但始终无法提取原始私钥。

---

显著优点

安全架构行业领先:采用密钥环代理(Keyring Proxy)模式实现私钥物理隔离,私钥存储于独立进程并通过HMAC-SHA256认证通信,即使Agent进程被提示词注入攻击完全控制,攻击者也只能请求签名而无法提取私钥。该设计直接回应了AI Agent领域最关键的密钥泄露风险。

标准兼容与生态互通:完整实现ERC-8004(Trustless Agents)标准,与Agent0 SDK、Pinata IPFS、Railway部署平台等主流基础设施深度集成。SIWA协议与EIP-4361(Sign In With Ethereum)精神一致,便于服务端开发者快速接入。

开发者体验优化:提供@buildersgarden/siwa SDK封装所有加密细节,支持TypeScript/Python多语言;一键式Railway模板部署密钥环代理;MEMORY.md模板化身份管理降低集成成本。

可扩展信任模型:除基础身份注册外,Reputation Registry支持客户端反馈评分,Validation Registry支持zkML/TEE第三方验证,为构建可信Agent网络奠定基础。

---

潜在缺点与局限性

外部依赖链复杂:功能实现依赖至少6类外部服务——Railway(代理部署)、Pinata(IPFS存储)、Alchemy(水龙头/RPC)、Base/Ethereum RPC节点、Builders Garden SDK更新。任一服务中断或变更API均可能导致功能降级,区块链RPC节点故障还可能造成交易失败或状态同步延迟。

会话令牌存储风险:当前实现将会话令牌明文追加至MEMORY.md文件,若该文件被版本控制、共享或意外泄露,攻击者可冒用代理身份。尽管文档已披露此风险,但实际生产环境仍需额外安全措施。

区块链操作不可逆性:代理注册、URI更新等操作消耗真实gas费用。虽然文档强制要求用户确认资金,但测试网/主网网络标识不明确或用户误操作仍可能导致意外资金损失,尤其对加密货币新手存在门槛。

SDK供应链单点风险:所有加密操作完全委托给@buildersgarden/siwa SDK,若该SDK存在漏洞、被恶意篡改或停止维护,将直接影响所有依赖此Skill的代理。目前SDK源代码尚未经过独立安全审计。

T3来源可信度限制:发布者limone-eth为个体开发者账号,非知名组织或基金会,缺乏长期维护记录和第三方安全背书。尽管代码质量良好,但生产环境大规模部署前建议独立审计。

---

适合的目标群体

  • AI Agent开发者:需要为自主代理建立可验证链上身份的开发者,尤其是MCP(Model Context Protocol)服务提供者
  • 去中心化应用(DApp)团队:希望集成"Sign In With Agent"认证机制的Web3项目方
  • 可信AI基础设施构建者:探索zkML、TEE验证与链上声誉系统的研究人员和工程师
  • 自动化服务运营商:运行链上交易机器人、内容生成代理等需要持久身份的服务提供商
  • 企业级AI集成团队:对Agent密钥安全有严格要求、愿意采用密钥隔离架构的组织

---

使用风险与缓解建议

密钥管理配置风险:KEYRING_PROXY_SECRET若使用弱密钥或硬编码,可能导致代理被未授权访问。建议使用32字节以上强随机密钥,通过安全环境变量注入,禁止提交至代码仓库,并建立定期轮换机制。

网络层攻击面:密钥环代理默认监听3100端口,若暴露于公网且HMAC配置不当,可能遭受重放攻击或暴力破解。建议部署于私有网络或使用Railway等平台托管,限制源IP访问,并监控异常签名请求日志。

智能合约交互风险:与Identity Registry等合约交互可能遭遇gas价格波动、合约漏洞或前端运行攻击。建议在测试网充分验证后再上主网,使用多RPC提供商实现故障转移,并设置gas上限保护。

社交工程与钓鱼:恶意Skill副本可能诱导用户向攻击者地址发送主网资金。用户应仅通过官方ClawHub渠道安装Skill,验证SDK版本哈希,并在发送资金前二次确认目标网络标识。

性能与可用性:IPFS上传、链上交易确认等环节存在异步延迟,不适合需要实时响应的场景。建议设计异步任务队列,设置合理超时重试策略,并向用户展示进度反馈。

ERC8004 Agent 内容

assets文件夹
references文件夹
手动下载zip · 25.7 kB
MEMORY.template.mdtext/markdown
请选择文件