2026年6月8日 2 分钟阅读

Akmon 实战:给 AI Agent 装上不可篡改的审计黑匣子

tinyash 0 条评论

AI Agent 写代码快、改东西多,但当一个审计员、合规官或安全团队问”你的 Agent 到底修改了哪些文件?”时,你能给出什么证明?日志?终端回放记录?截图?这些在审计面前毫无说服力——任何一方都能质疑它们被篡改过。

两个月后(2026 年 8 月 2 日),欧盟 AI 法案的高风险日志记录义务(Article 12 + Annex IV)正式生效。如果你的 AI Agent 涉及高风险应用,法律会要求你提供可验证、不可抵赖的操作记录。

Akmon(Anvil——铁砧)就是这个问题的答案:一个 Rust 写的开源证据层,为任何 AI Agent 的会话生成加密签名的审计记录,且验证方只需要一条 OpenSSL 命令,不需要安装 Akmon、不需要云服务、不需要信任你。

痛点对比:你现在的”证据”有多脆弱?

维度终端日志截屏/录屏应用内操作记录Akmon
防篡改❌ 可随意编辑❌ 可 PS❌ HMAC(需信任服务端)✅ Ed25519 非对称签名
脱机验证✅ cat 即可✅ 肉眼可见❌ 需登录系统✅ OpenSSL 即可,无需装 Akmon
确定回放❌ 缺少上下文❌ 仅画面❌ 厂商锁定akmon replay 确定性回放
跨 Agent❌ 特定工具❌ 需手动录❌ 同一平台✅ 任意 OpenTelemetry 输出的 Agent
合规就绪⚠️ 部分✅ EU AI Act / NIST / SOC 2 映射

安装:两行命令搞定

macOS 或 Linux 用 Homebrew:

brew tap radotsvetkov/akmon
brew install akmon         # CLI
brew install agef-verify   # 审计员的独立验证器

Linux 用户也可直接下载预编译二进制:

base=https://github.com/radotsvetkov/akmon/releases/latest/download
curl -LO $base/akmon-linux-x86_64
curl -LO $base/agef-verify-linux-x86_64
chmod +x akmon-linux-x86_64 agef-verify-linux-x86_64
mv akmon-linux-x86_64 ~/bin/akmon
mv agef-verify-linux-x86_64 ~/bin/agef-verify

从源码构建也行(需要 Rust 1.88+):

cargo install --git https://github.com/radotsvetkov/akmon akmon
cargo install --git https://github.com/radotsvetkov/akmon agef-verify

三个核心场景

场景一:从已有 Agent 的 OpenTelemetry 追踪创建证据链

Akmon 的最大亮点是不要求你换 Agent。只要你的 Agent(Claude Code、Codex、OpenCode 或自建 Agent)输出了 OpenTelemetry GenAI Trace,Akmon 就可以导入并封存为证据。

akmon bundle keygen --out signer.pk8 --public-out signer.pub

akmon otel import trace.json --journal ./journal

akmon bundle export  --journal ./journal --output audit.akmon

akmon bundle sign audit.akmon --key signer.pk8

akmon bundle verify audit.akmon --verify-key signer.pub --require-signature

每一步的输出结构都是内容寻址的(content-addressed),即会话内容本身作为指纹,任何人无法在不破坏签名的情况下修改任何一行日志。

场景二:生成”只需 OpenSSL 就能验证”的证据(审计友好)

如果第三方不信任你的机器或你的工具链怎么办?Akmon 专门为这个场景设计了 prove-openssl 命令:

akmon bundle prove-openssl audit.akmon --verify-key signer.pub --out-dir proof

这条命令会生成三个文件:statement.bin(原始声明内容)、signature.bin(Ed25519 签名)、pubkey.pem(公钥文件)。审计员拿到这三个文件后,在任何一台没有装 Akmon 的机器上执行:

openssl pkeyutl -verify -pubin -inkey proof/pubkey.pem -rawin \
  -in proof/statement.bin -sigfile proof/signature.bin

输出 Verified OK——完成。不需要信任你、不需要装你的软件、不需要联网。这是异步审计、跨国合规审查等场景的杀手特性。

场景三:操作者问责(Operator Attestation)

在受监管环境中,不仅需要证明”Agent 做了 X”,还需要证明”是谁批准 Agent 做 X 的”。Akmon 的 attest 命令解决了这个问题:

akmon bundle attest  --key operator.pk8 \
  --operator-id zhang.san@company.com --role approver

这条命令为会话追加一个独立签名的操作者证明,与 Agent 的会话签名完全分离。操作者的私钥和 Agent 的私钥由不同的人保管,任何一方都不能单独伪造对方的行为记录。这对金融、医疗、政务等强监管行业特别有用。

与微软 Agent 治理工具包的对比

微软今年 4 月开源的 Agent Governance Toolkit(3600+ ⭐)是 Akmon 最直接的参照物。两者的关键差异:

特性微软 Agent Governance ToolkitAkmon
防篡改机制HMAC(对称密钥 + 哈希链)Ed25519 非对称签名
独立验证❌ 需部署 Toolkit✅ 一条 OpenSSL 命令
跨平台验证❌ 仅 .NET/Python SDK 可验证✅ 所有有 OpenSSL 3.x 的平台
确定性回放❌ Foundry 不支持完整回放✅ 完整捕获可 akmon replay
签名密钥管理服务器管理对称密钥Ed25519 密钥对,私钥自管
云绑定支持 Azure Confidential Ledger纯本地,无需云

微软的优势在于分发渠道(Purview 和 Copilot Control System 已嵌入 M365 租户)和 Azure 的 Merkle 签名收据。Akmon 的优势在于可移植性——不依赖任何云基础设施,一个 .akmon 文件 + 一条 openssl 命令就能完成验证。

捕获级别:诚实记录

Akmon 在记录中显式写入 capture_level 字段,并对其签名。这样接收方可以明确知道:

  • full(完全捕获):来自 Akmon 自带的 Agent 引擎,保留完整的 Prompt、响应和工具调用,可确定性回放
  • structural(结构捕获):从其他 Agent 的 OpenTelemetry 追踪导入,保留会话结构和元数据,但不能保证字节级回放

akmon bundle verify --require-capture full 会在 structural 级别上直接报错,防止有人把”部分捕获”伪装成”完全捕获”。这种设计在审计场景中至关重要——审计员必须能区分”这就是 Agent 看到的一切”和”这只是 Agent 做事的形状”。

合规就绪

Akmon 的文档提供了已映射的合规框架清单:

  • EU AI Act:Article 12 高风险系统日志义务 + Annex IV 技术文档要求(2026 年 8 月 2 日生效)
  • NIST AI RMF:MEASURE 2.8 可追溯性控制
  • SOC 2:CC7.x(系统操作)和 CC8.1(变更管理)

当然,Akmon 本身不是合规认证,它提供的 AGEF 证据格式需要和你自己的合规/法务团队一起验证映射的准确性。

注意事项

  • macOS 用户注意:macOS 自带的 openssl 实际上是 LibreSSL,不支持 Ed25519 验证。需先通过 Homebrew 安装 OpenSSL 3.x:brew install openssl@3。之后用 /opt/homebrew/opt/openssl@3/bin/openssl 替代裸 openssl 命令。
  • 两套密钥体系:Agent 会话签名密钥和操作者密钥要分开保存、分开管理,避免单点信任漏洞。
  • 证据容量full 级别的捕获会记录全部 Prompt 响应内容,高频 Agent 会话注意磁盘占用。

总结

Akmon 不是替换 Agent 的工具,而是给 Agent「装上黑匣子」——让审计员、合规官和安全团队在无需信任发布方的前提下,用最基础的工具(OpenSSL)验证 Agent 到底做了什么。EU AI Act 的生效倒计时已经开始,如果你在搭建需要合规的 Agent 系统,现在就应该把证据层纳入架构。

项目地址:github.com/radotsvetkov/akmon

文档站:radotsvetkov.github.io/akmon

证据格式规范:github.com/radotsvetkov/agef

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。