[控场AI]
· 5 分钟阅读· 2,867 字

AgentLog-MCP:给AI智能体操作日志加上防篡改签名

AgentLog-MCP:给AI智能体操作日志加上防篡改签名

AgentLog-MCP 用密码学签名链为AI智能体操作日志提供防篡改验证,并通过自然语言入口让任何人都能审计。

AgentLog-MCP 是一个开源项目,针对 AI 智能体被授予真实操作权限后(如审批发布、处理退款)所带来的日志信任问题。它为智能体每一步操作生成加密签名并构成哈希链,使日志真实性与其物理存储位置解耦——即便日志存在运营方服务器上或数据库遭攻破,签名验证依然能准确识别篡改。项目通过 MCP 协议将验证能力接入 Alexa+ 等自然语言客户端,用户只需一句提问即可得到实时重算的可信结论。演示中,修改内容、换密钥重签、删除步骤三种攻击手段均被识别,且该机制还可用于客观仲裁客户与运营方的记录纠纷。底层为 MIT 开源库 agent-log,附带 56 个测试用例。

当AI智能体开始审批发布、处理退款

AI智能体正在接手越来越多的高风险操作——批准软件发布、发起退款、修改业务记录。它们做了什么,全都记录在一份日志里。但问题在于,这份日志通常存放在运营方(operator)自己的服务器上,而运营方恰恰是最有动机去篡改记录的那一方。

AgentLog-MCP 这个开源项目试图解决的正是这个信任缺口。它的核心思路很简单:为智能体执行的每一个步骤签名,并让任何人都能通过一句自然语言的提问,验证这条记录是否真实可信。在演示中,作者把这个能力接到了 Alexa+ 上——一个真实的 MCP 客户端,通过 streamable HTTP 协议通信。

The card is an MCP app.

MCP(Model Context Protocol)是 Anthropic 于 2024 年底推出的开放协议,旨在标准化大语言模型与外部工具、数据源之间的通信方式。可以把它理解为 AI 智能体世界的"USB 接口"——无论是文件系统、数据库、API 服务还是本地工具,只要实现了 MCP 服务端,任何兼容的 AI 客户端都能直接调用。协议采用 JSON-RPC 消息格式,支持通过标准输入输出(stdio)或 HTTP 流式传输(streamable HTTP)通信。Alexa+ 是亚马逊基于该协议构建的 MCP 客户端之一,允许用户通过自然语言指令调用后端 MCP 工具。AgentLog-MCP 正是把日志验证能力封装为一个标准 MCP 工具服务,从而让任何 MCP 客户端都可以无缝接入审计功能,而不必针对特定平台单独开发集成。

演示:问一句话就知道日志有没有被动过

演示场景是这样的:昨天一个负责发布检查(release-checker)的智能体运行了三次。用户直接问 Alexa:“我的智能体昨天做了什么?它的日志被篡改过吗?”

Alexa 的回答是:release-checker 昨天跑了三次,共记录 18 个步骤,没有日志被篡改,但其中一次运行没有正常结束,可能提前中止了。

关键细节在于——这里的每一个结论都不是读取某个“状态标志位”得来的,而是从哈希值和签名实时重新计算出来的。这意味着即便有人改了标志位想蒙混过关,验证逻辑也不会上当。

攻击者改一个数字会发生什么

真正体现价值的是对抗测试。演示中,攻击者拥有数据库写入权限,直接把下午那次运行的第 2 步改掉:原本失败的健康检查(503)被改成了成功(200)。

再问 Alexa:“它的日志被篡改过吗?”系统立刻报警:下午 1:05 的那次运行(检查发布版本 1.4.3),第 2 步不可信——内容在智能体签名之后被编辑过,签名与内容不再匹配。

作者接着演示了攻击者的几种升级手段,每一种都被识别:

  • 用入侵者的密钥重新签名伪造的步骤:系统判定第 2 步由非智能体的密钥签名,不可信。
  • 干脆删掉这一步:系统报告第 2 步缺失、被删除或已过期,同样不可信。

Resign the forged step with an intruder's key.

换句话说,无论是改内容、换密钥重签还是删除,密码学验证都能揪出异常。签名链条本身是防篡改的。

解决“各执一词”的纠纷

还有一个更现实的场景:客户和运营方发生争议。客户的副本显示 staging 环境当时宕机了,而运营方修改了自己的私有证据,声称一切正常。

用户问 Alexa:“关于下午那次发布,到底是客户对还是运营方对?”系统给出的裁决是:以智能体签名的版本为准——客户手上的版本与签名匹配,运营方的版本对不上。

Step 2.

这一点很有意思。它把一个原本靠信任和口头博弈解决的纠纷,变成了可以用密码学证据客观仲裁的问题。谁篡改了记录,签名说了算。

技术实现:开源、56 个测试、一条命令跑完

底层是一个名为 agent-log 的开源库,采用 MIT 许可证,附带 56 个测试用例。整个演示可以用一条命令跑起来。作者还展示了在公共归档测试网(archive testnet)上验证一次真实运行——九个步骤全部由智能体签名、相互链接并封存,直接从 RPC 读取、无需密钥即可就地验证。

演示里的“wire panel”会显示每一条 MCP 协议消息:initialize 握手(协议版本 2025 年 11 月 25 日)、MCP apps 扩展、tools list 和 tools call,完整暴露了客户端与服务端之间的通信过程,而不是把验证过程藏在黑盒里。

Built with AI coding agents, cloud code, and reviewed by Google Jewels.

值得一提的是,作者坦言这个项目本身是借助 AI 编程智能体(Claude Code 等)构建、并经过代码审查的——这本身也算是一个 AI 工具开发 AI 治理工具的小注脚。

公共归档测试网(archive testnet)是指用于存储不可篡改记录的区块链测试网络。AgentLog-MCP 将智能体运行步骤的签名和哈希链锚定到这类公共账本上,使得验证过程可以完全绕过运营方服务器——任何人只需向区块链节点发起 RPC 读取请求,就能独立确认一次运行的完整性,无需掌握私钥或信任任何中间方。这种"链上锚定、链下存储"的架构是可验证日志系统的常见模式:原始日志数据(通常体积较大)仍存放在传统数据库中,但其哈希摘要被写入不可变的公共账本,形成一个可独立验证的"指纹存档"。即便数据库被攻破或运营方销毁本地数据,链上锚定的哈希依然可以作为客观基准来判断任何一份日志副本是否真实。

为什么这件事重要

随着智能体被授予真实的操作权限,"它到底做了什么"的可审计性会成为企业级部署的硬需求。传统日志的问题是:记录者和被审计者往往是同一方,缺乏独立性。AgentLog-MCP 通过密码学签名把"记录的真实性"和"记录的存放位置"解耦——哪怕日志存在运营方服务器上、哪怕数据库被攻破,签名验证依然能告诉你哪一步被动过。

把验证能力包装成 MCP 工具、再接入 Alexa+ 这样的自然语言入口,则降低了审计的门槛:不需要懂密码学,问一句话就能得到可追溯的结论。对于需要合规审计和责任界定的场景,这是个值得关注的方向。

当然,这目前还是一个 demo 和早期开源库,距离生产级可靠性还有验证过程。但它清晰地提出了一个正在变得紧迫的问题,并给出了一条可落地的技术路径。

#AgentLog-MCP#AI智能体日志#MCP协议#日志防篡改#智能体审计#开源工具#Alexa Plus#密码学签名
分享:

相关推荐