桃子桃子快讯
返回首页
工具

Kessa:为 AI 智能体提供可验证的权限委托与审计系统

开源工具,构建 AI 智能体逐级收窄的可验证委托链与防篡改审计日志,支持独立离线验证。

2026.08.11 · 周二4 分钟阅读

Kessa 是一个面向 AI 智能体场景设计的开源权限委托与审计系统,针对「人类 → 组织 → 智能体 → 子智能体」这一多层委托链中权限不可见、不可收缩、事后无法验证的痛点,提出了一套基于去中心化标识符(DID)的可验证委托与防篡改审计方案。整套系统由三个生成证据的二进制组件与一个独立的离线验证器组成,验证器不信任前三个组件,仅依据文件与公开 DID 文档重新推导每一条判定。

核心要解决的问题

在常见的智能体代理模式中,一个被授权做摘要任务的子智能体往往继承了调用方完整的 Token 权限,足以执行转账等高风险操作。Kessa 通过逐级「收窄」凭证(attenuation)来约束这一放大效应:每一跳委托都会签发一份权限严格更窄的新凭证,任何试图扩大自身权限的跳在签发阶段即被拒绝,而不是在使用时才被拦截。

此外,Kessa 把委托链、策略与审批结果作为签名证据随动作一起记录,事后可独立重建「该智能体在执行那一刻被允许做什么」。审计日志采用哈希链 + 签名结构,签名同时覆盖日志长度与链尾指针,使得条目事后无法被编辑、重排或悄悄丢弃。验证器则会从证据本身重新推导判定,而不是读取执行点写下的结论,确保代理即使偷工减料也会输出校验失败的导出文件。

工作机制概览

整个流程分为三步:先由 kessa-issuer 签发并发布一条完整的委托链及公开材料;再由独立的 kessa verify 离线校验导出的审计文件,仅以本地文件为输入,默认不发起任何网络请求;最后可由 kessa-issuer revoke 在链中撤销某个中间凭证,使原本通过校验的同一条导出立即失败。退出码设计上,0 表示所有条目对照证据校验通过,1 表示存在 FAIL 或完整性降级,2 表示使用或 IO 错误。

需要强调的是,Kessa 只治理权限而非内容:它决定某个动作是否可以执行,但不评判智能体说了什么,也不检查已授权动作所接触的数据。

验证、撤销与可信根

验证器 kessa verify 是一个独立、宽松许可、二进制级别的离线工具,信任根是用户可独立获取的公钥目录,默认不读取任何 Kessa 服务。当且仅当用户提供 --fetch-dids 参数时,验证器才会通过 HTTPS 解析 did:web 文档,这是 Kessa 唯一可能发生的网络访问,且默认关闭。

撤销通过签名状态列表在动作执行时逐跳校验实现,因此中途撤销凭证能够即时阻断依赖该凭证的后续关键动作,而不是只对之后新发出的动作生效。

当前状态与已知局限

项目目前端到端可用,包含七个确定性场景的完整演示(make demo),代码无第三方 Go 依赖,仅使用标准库。安全审查已完成多轮对抗性自测,并修复了所有发现项;但项目明确披露这些均为「自跑 AI 红队」,尚未委托第三方审计,整体尚未达到生产硬化水平。

签名后端通过 Signer 抽象层接入,目前提供两种实现:用于演示与 CI 的软件密钥库(私钥以明文存在于文件中)以及 macOS Secure Enclave 后端(持有不可导出 P-256 密钥,且 Enclave 的生成 → 持久化 → 重载 → 签名 → 删除流程已在真实硬件上验证)。Linux/TPM 与 Windows 后端尚未实现,编译后的 Go 守护进程也尚未完成性能剖析。

Kessa 的判定相对于用户提供的 DID 文档而言是「绝对的」,但其正确性依赖于可信根的独立获取;项目在 README 与 UPCOMING.md 中明确列出了若干未解问题,验证器输出中也会暴露这些边界而非掩盖。

信源