OrgKernel 三层审计日志设计指南:IDENTITY/EXECUTION/COMPLIANCE 分层语义与完整性校验
【免费下载链接】OrgKernelOpen-source trust layer for AI agents — cryptographic agent identity (Ed25519), instance-scoped execution tokens, SHA-256 hash-chained audit logging, and enterprise SSO/SCIM federation. The security foundation powering every agent in the Metaprise AURA platform.项目地址: https://gitcode.com/gh_mirrors/or/OrgKernel
OrgKernel 是面向 AI Agent 的开源信任层(Trust Layer),其核心能力之一是三层审计日志:每个任务(Mission)都拥有一条独立的 SHA-256 哈希链,按 IDENTITY、EXECUTION、COMPLIANCE 三个分层语义记录事件,并内置密码学完整性校验——任何删除、篡改或重排都会在校验时暴露。本指南带你用最少代码看懂这套审计链的分层设计与防篡改机制。
📌 先建立整体认知:一条任务,一条审计链
OrgKernel 的审计模型非常克制:一个任务对应一条审计链,链上只有两类记录,分别存放在两张数据库中:
| 数据表 | 作用 | 对应代码 |
|---|---|---|
sys_orgkernel_audit_chain | 链头元数据(链 ID、任务 ID、head_hash链头哈希) | AuditChainModel |
sys_orgkernel_audit_entry | 链上每一条不可变审计记录 | AuditEntryModel |
三条关键设计原则:
- 只追加(append-only):条目一经写入不可修改,
AuditEntry模型是冻结的(frozen=True),见 schemas/audit_chain.py - 哈希链(hash-chained):每条记录携带
prev_hash指向上一条的entry_hash,形成环环相扣的链条 - 同步写入:审计写操作没有异步选项——审计不可跳过,见 services/audit_chain_service.py 的模块说明
🔍 核心看点:三层审计日志的分层语义
在 AuditLayer 枚举 中,OrgKernel 把审计事件划分为不同的"视角"。整体速览表如下:
| 审计层 | 触发时机 | 语义视角 | 典型事件 |
|---|---|---|---|
| IDENTITY(业务层) | 链初始化时 | 谁、在哪个组织、为哪个任务 | IDENTITY_chain_initialized |
| EXECUTION(执行层) | 每次工具调用、状态流转、任务关闭 | 系统实际做了什么 | EXECUTION_tool_call、EXECUTION_chain_closed |
| COMPLIANCE(合规层) | 仅任务升级(escalate)时 | 什么触发了人工合规介入 | 升级原因、升级目标、来源状态 |
IDENTITY 层:创世条目锚定"业务身份"
每条链的第一个条目(sequence=0)永远写入 IDENTITY 层。当你调用initialize()时,系统自动生成一个创世条目:
- 事件名固定为
IDENTITY_chain_initialized prev_hash是 64 个零(_GENESIS_HASH = "0" * 64),作为整条链的锚点data中记录初始化时间,agent_id与mission_id锚定"业务身份"
这一层的价值在于:任何一条审计链都能追溯到"这是谁、为哪个任务而生"。创世条目的写入逻辑见 AuditChainService.initialize。
EXECUTION 层:记录"系统实际行为"
EXECUTION 是日常流量最大的层。任务执行期间的每一次工具调用、每次状态流转都会通过append()追加到这里,并携带当时生效的token_id(执行令牌),把"行为"与"权限凭证"关联起来:
{ "layer": "EXECUTION", "event": "EXECUTION_tool_call", "data": {"tool": "read_invoice", "invoice_id": "4521", "result": "success"}, "token_id": "tok_abc123" }此外,关闭审计链时也会写入一条 EXECUTION 层的终态条目EXECUTION_chain_closed,之后链被封印、拒绝任何再追加——这是"审计边界"的最后一道闸门,逻辑见 AuditChainService.close。
COMPLIANCE 层:合规介入的专用通道
COMPLIANCE 层的设计哲学是"少即是多":只有任务被升级(escalate)到人工合规介入时才会写入,其他所有关闭动作都只写 EXECUTION 层。
这种"专层专用"带来的好处是:合规审计员不必在海量执行日志里大海捞针,直接筛选 COMPLIANCE 层就能拿到全部人工介入记录。枚举中同时预留了GOVERNANCE层(审批、权限变更类事件),为后续版本扩展治理类审计留了位置,见 AuditLayer 定义。
🔐 SHA-256 哈希链:完整性校验如何发现篡改
三层语义解决"记录什么",哈希链解决"如何证明记录没被动过"。
每一步都在加密地"签名"
- 每条条目的
entry_hash= 该条目规范 JSON(排除entry_hash字段本身,键排序、紧凑分隔符)的 SHA-256,计算逻辑见 _compute_entry_hash - 每条条目的
prev_hash必须等于上一条的entry_hash - 链头的
head_hash实时指向最新条目的哈希
四项校验,覆盖所有篡改手法
调用verify_integrity()会从头重放整条链,逐项验证:
| 校验项 | 能检出的篡改手法 |
|---|---|
序号连续性(sequence必须 0、1、2… 递增) | 中间条目被删除 |
prev_hash链接正确 | 条目被修改或重排 |
| 内容哈希一致(存储值 == 重算的 SHA-256) | 条目内容被篡改 |
head_hash== 最后一条的entry_hash | 链头被替换或截断 |
完整验证实现见 verify_integrity;对应 REST 接口返回{"valid": true, "message": "Integrity check passed"}。
🚀 四步上手:从初始化到完整性校验
审计模块的 REST 接口挂载在/orgkernel/audit前缀下(实现见 pyapi/router.py),四个动作即可走完全生命周期:
| 步骤 | 接口 | 说明 |
|---|---|---|
| 1️⃣ 初始化 | POST /orgkernel/audit/initialize | 创建审计链,写入创世 IDENTITY 条目 |
| 2️⃣ 追加 | POST /orgkernel/audit/{chain_id}/append | 追加一条审计记录(链必须未关闭) |
| 3️⃣ 关闭 | POST /orgkernel/audit/{chain_id}/close | 写入终态条目并封印整条链 |
| 4️⃣ 校验 | GET /orgkernel/audit/{chain_id}/verify | 重算全部哈希,返回是否通过 |
一个最简校验调用:
curl "$BASE/audit/ac_xyz.../verify" # → {"chain_id": "ac_xyz...", "valid": true, "message": "Integrity check passed"}更完整的 Python 服务层调用示例(含 CSR 身份签发、令牌铸造与审计写入)可参考 README.md 的 Quick Start 章节。
📂 核心文件索引
| 文件 | 内容 |
|---|---|
| src/orgkernel/schemas/audit_chain.py | AuditLayer枚举、AuditEntry/AuditChain数据模型与哈希计算 |
| src/orgkernel/services/audit_chain_service.py | 持久化服务:初始化、追加、关闭、完整性校验 |
| src/orgkernel/models.py | ORM 表结构:sys_orgkernel_audit_chain/sys_orgkernel_audit_entry |
| src/orgkernel/pyapi/router.py | 审计链 REST 接口定义 |
| SECURITY.md | 安全策略与审计链漏洞报告渠道 |
✅ 小结
- 分层语义:IDENTITY 锚定业务身份、EXECUTION 记录系统行为、COMPLIANCE 专记合规介入——三层各司其职,审计查询各取所需
- 哈希链:创世哈希 +
prev_hash链接 + SHA-256 内容哈希,让"删一条、改一字、换顺序"都无处遁形 - 闭环设计:链关闭即封印,
verify_integrity()一键出具密码学级的完整性证明
理解并善用这套三层审计设计,你就握住了 AI Agent 平台"透明不是承诺,而是可验证事实"的关键拼图。
【免费下载链接】OrgKernelOpen-source trust layer for AI agents — cryptographic agent identity (Ed25519), instance-scoped execution tokens, SHA-256 hash-chained audit logging, and enterprise SSO/SCIM federation. The security foundation powering every agent in the Metaprise AURA platform.项目地址: https://gitcode.com/gh_mirrors/or/OrgKernel
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考