不可变证据链账本(Rein Evidence)
> 给"AI 在干嘛、有没有乱来、事后查得清"提供一套可验证的不可变账本:自动抓取 AI Agent 运行轨迹,写入 SHA-256 + prev-hash 链式账本,任何一行被删改/重排/截断,校验立刻失败。证据链改不掉。
解决什么问题
AI Agent 干活时说的、想的、做的(对话、思考、工具调用)都是可被事后编辑的。如果只看"最后结果",你没法证明:
- 它真的按你说的做了,还是糊弄了一句
- 中间有没有偷偷做过你没同意的事
- 事后篡改日志/截图,能不能被识破
普通日志(txt/jsonl)随手就能改,当不了证据。本方案用哈希链给每一步盖"防篡改戳"——谁想改一行,整条链立刻报警。
✨ 核心功能
- 自动抓取轨迹:接住 AI Agent 会话运行事件(用户消息 / 上下文 / 模型思考 / 工具调用与结果),逐条入账
- SHA-256 哈希链:每条记录存自己的 hash + 上一条的 hash(
_hash/_prev),链式串联——改任何一条 = 后面全部对不上 - 链尾锚定:最后一条 hash 写入独立锚点文件(
.anchor.json),防删行/截断/重算 - 篡改即断链:校验时逐条重算比对,任一 mismatch 立即标记(如
line 0 hash mismatch) - 状态带常显:在 AI 聊天界面注入常显状态带,实时显示"轨迹 ✓ 通过 N 条",一看就懂当前账本健康
- hash 由账本接受端(host)计算:不信任被记录端的自我报告,杜绝"只录对自己有利的"
📝 使用场景
- 个人 AI 深度用户:追求"我用 AI 但我知道它在干嘛",事后能回看每一步
- 团队/企业用 AI Agent 执行任务:给 AI 行为留"改不掉"的审计底账,防 AI 自作主张
- 内容创作者用 AI 批量产出:证明内容生产链路真实、可溯源
💡 能力说明
账本结构(哈希链核心)
记录 0: {..., "hash": sha256(记录0), "prev": null}
记录 1: {..., "hash": sha256(记录1), "prev": 记录0的hash}
记录 2: {..., "hash": sha256(记录2), "prev": 记录1的hash}
...
锚点文件 .anchor.json: 存最后一条的 hash + 累计行数
防篡改判定
| 攻击 | 校验结果 |
|---|---|
| 改某条记录内容 | 该条 hash 重算对不上 → mismatch |
| 删掉中间某行 | 后续每条 prev 指针断裂 → mismatch |
| 截断(删尾部) | 与锚点文件的累计行数不符 → 报警 |
| 重算整条链伪造 | 锚点 hash 对不上最终链尾 → 报警 |
校验接口
GET /evidence/verify 返回 {ok, checkedLines, anchor}:
- ok: true = 全链校验通过,账本可信
- ok: false = 检测到篡改,返回具体断链位置
关键原则
- 不信任被记录方:哈希由接收/校验端计算,被记录的 Agent 即使想留对自己有利的记录也改不了已锚定的链条
- 只读追加:账本只 append 不覆盖,配合哈希链天然防改写
- 本地优先:账本在本机,数据不出环境(可选外链备份做冗余)
🎯 衍生价值
本 Skill 是"AI 可信治理"系列实战案例的一部分。完整开源实现(证据链插件 + 状态带)可在 GitHub 搜索 rein-evidence 找到。
使用前置
- 运行环境需有 AI Agent 引擎(如 DeepSeek Harness)及插件加载机制,账本依赖该机制挂载后捕获轨迹
- 账本写入路径可通过配置指定(
ledgerFile),默认相对运行目录 - 校验需在账本生成端(host)执行,拿到正确 hash;外部只看结果无法验证链条真实性,需配合锚点文件
> 想上手这套不可变证据账本?在 GitHub 搜 Rein Evidence(kongminOS 组织)即可找到方法论 + 可复现的实测数据。