agentwallets.si
← 返回博客

独立解读

会话密钥是什么?为什么给 Agent 一把有限权限的钥匙

文章图解 · 概念示意
01账户主权02会话密钥03权限撤销

你希望 Agent 每天查询一个服务并支付少量费用,但不想把控制整个钱包的主权限交给它。某些智能账户支持给 Agent 配置一把受限的签名密钥,通常叫会话密钥(session key)。

阅读边界:这是概念解释,不代表所有钱包都有会话密钥,也没有实际测试任何钱包的权限或撤销功能。

flowchart TD A[账户控制方设置规则] --> B[给 Agent 受限签名能力] B --> C[Agent 提出操作] C --> D{策略是否允许?} D -->|允许| E[执行签名或交易] D -->|不允许| F[拒绝]

规则可以限制什么?

限制维度 示例 需要确认的细节
操作对象 只与指定合约或地址交互 地址、合约升级、代理合约是否纳入检查
动作 仅调用指定函数 参数、代币授权和其他签名是否受控
时间 一天后失效 默认有效期、时区、撤销何时生效
用量 每日金额或次数上限 是否累计、并发如何计数、费用是否计入
付款资产 只允许使用某个资产 原生资产、代币与兑换操作是否分别受限

上表是可能的设计维度,不代表每个产品都支持。ZeroDev 的文档展示了智能账户权限、目标、时间、参数与撤销配置;不同版本实现不同,需要查看具体版本。ZeroDev 会话密钥文档

它和主密钥是什么关系?

会话密钥本身仍是需要保护的凭证。区别在于:如果账户正确配置并执行限制,它的能力应小于账户控制方的权限。主权限通常负责添加、修改或撤销相关授权;实际控制方式要看钱包、合约和部署配置。

规则不代表绝对安全:允许的商家本身可能有问题,Agent 也可能在额度内买错东西;密钥泄露后,攻击者可能使用剩余权限。网络费、权限升级和已提交交易也需要分别验证。

设置前问清楚

谁能创建和撤销?规则检查发生在链上、服务端还是其他地方?默认是否永久有效?多笔并发请求怎样累计?遇到紧急情况能否停用?这些答案比“支持 session key”一个勾选项更有用。继续阅读 Agent Wallet 密钥控制与钱包选型。