SuperAPI AI 工具集

hermes-cred-as-sturdy

安全与审计

查看项目

更新于 10-16 03:43

技能介绍

用途:把 Hermes 的凭证管理从“内存中持有原始密钥”改为基于 Goblins 能力(capability)的持久化方案。每个凭证变成一个 SturdyRef(不可猜测的持久 URI),指向包装了原始密钥的 ^provider-cap actor,凭证池则是可撤销转发器的集合。属于 Phase 2(状态)基础工作,阻塞 hermes-mcp-as-sealed。

主要能力:凭证池支持列出(<- pool 'list,只返回 SturdyRef 列表,不返回原始密钥)、添加(add provider sref)、轮换(rotate provider reason,撤销当前并返回下一个转发器)、撤销。持久化通过 Goblins 的 vat-snapshot/vat-restore 实现。密钥过期可由 (<- cred 'expires-at) 加自动刷新 fiber 处理。错误信息使用脱敏引用(如 cred:abc123)而非原始字节。

使用方式(测试向量示例):sref = pool.add('anthropic', mint_sturdy(raw_key));raw key 之后不再返回,pool.list() 只给出 sref;cap = pool.acquire('anthropic') 后 cap.complete("hello") 可用;pool.rotate('anthropic', 'rate-limit') 后旧 cap 调用抛 CapError('revoked') 而非 429;跨重启时 vat_save(); restart(); pool2 = vat_restore() 后 pool2.acquire('anthropic') 仍可用。

适用场景:任何需要跨会话持久化凭证的能力(cap)场景,例如 MCP OAuth token 等带额外次数限制语义的凭证。

限制与风险:SturdyRef 存储泄露等同于完全接管,需同等 OS 权限保护,可选口令派生 sealer 封装。vat 内刷新 fiber 崩溃会导致 cap 过期,建议使用 syscaller-free-fiber 处理刷新 I/O 以免阻塞 vat 队列。资料标注状态为 stub,测试套件位置 ~/i/goblins-adapter/tests/cred-sturdy-bisim.scm(todo)。未提供收费、价格或平台信息。