@ agenticprimitives/ 审计
部分 代理先导 ——代理应用程序的开源信任底板:可以签名的身份,行为时间检查权限,所有者携带的证据. 开发者工具包 • 妇女 所有软件包
代理原始人堆栈的仅附带审计活动——因为在代理经济中, "谁授权什么,在什么限度下,可以证明给谁?" 这是你的日志必须回答的问题 而不是你的事件回顾.
大部分团队在事后将登录锁定在代理基础设施上:这里有一个控制台运输,那里有一个SIEM托运人,每个组件都指定了自己的方式。 结果是遥测,而不是证据. 此套件倒置: 一个可口 AuditEvent 方案是,底盘中的每个软件包都发出——代表团薄荷,监护变更,关键操作,工具调用——所以线索讲的是与其所观察的系统相同的身份语言. 审计事件中的演员是签下授权书的同名犬科智能特工地址;证据链和权威链是一链.
它关闭了系统审计搜索 C3 数据 (法网线索) docs/architecture/product-readiness-audit.md它坐落于依赖图的底部 types ——一切进口,几乎无进口.
部分 代理原始产品 ——代理经济的信托基底:一个有监护,授权,命名,证书,审计证据的犬类智能代理身份,设计成一个系统.
见 spec.md → specs/206-audit.md。 。 。 .
快开始
import {
buildEvent,
createConsoleAuditSink,
composeSinks,
type AuditSink,
} from '@agenticprimitives/audit';
const sink: AuditSink = composeSinks(
createConsoleAuditSink({ prefix: '[AUDIT]' }),
// ...add a persistent sink from your app layer (D1, Postgres, etc.)
);
await sink.write(
buildEvent({
action: 'delegation.verify.accept',
outcome: 'success',
actor: { type: 'agent', id: 'demo-a2a' },
subject: { type: 'jti', id: claims.jti },
audience: claims.aud,
correlationId,
}),
);
基础以外:犬类行动登记簿AUDIT_ACTION_REGISTRY页:1 createPiiGuardrailSink 包装能洗刷秘密 防御深度 轻量级 MetricsSink 计数器,以及 每个活动类别选择两个组成合同 —— 说 composeFailSoftSinks 吸收遥测级事件的瞬间故障,同时 composeFailHardSinks 因此,如果证据不持久,安全关键流动(委托薄荷/撤销、监护权变更、关键操作)将拒绝实施.
怎么不一样
- vs. OpenZeppelin 维权/ 招标: 这些监视器 合同 交易和连锁状态。 这一线索捕捉了在它们之前作出的非链条当局决定(核实授权、检查范围、达到的法定人数、援引的工具)、与同一条条条的特征挂钩以及将合同执行的权力下放链条。 你来拿 为什么 交易背后,不只是交易.
- 对自定义日志 : ad-hoc日志没有共享的chema,没有附件唯一的合同,也没有失败的硬性选项——一个压制日志的攻击者(或bug)仍然得到动作的承诺. 这里有水槽接口
write安全的关键排放者能够使持久性成为一个先决条件. - 底部效应 : 因为每个软件包都发出同样的方案, 一个查询与一个签入, 它刻制的代表团, MCP 工具称它授权, 以及它产生的开支—— 跨软件包
correlationId还有警署地址 堆积的堆积不能产生这种结合.
边界
- 船舶 仅指带内汇 (主机+内存+构件+PII护栏). 混凝土持久性汇(D1, Postgres, Cloud Digging, SIEM)生活在单曲后面的消费应用中
AuditSink接口. - 坐在这 解析图的基础 并行
@agenticprimitives/types. 禁止进口连接-auth/代理-账户/授权/钥匙-保管/工具-政策/mcp-runtime——这些导入我们。 事件带有ID和字符串,从不包含域对象.
变化因素
- 没有秘密材料在事件中. Emiters hash会话ID, 省略原始密钥/ 令牌 .
createPiiGuardrailSink是防御深度,而不是主要控制. - 仅通过接口附加.
AuditSink已经write仅 -- -- 没有delete编号 :update持久性汇必须在计划一级强化不可改变性. - 遥测失败 安全失败. 例行发射失败绝不向呼叫者投掷;安全关键事件使用
composeFailHardSinks故追踪不绝,流逝不绝.
状态
阿尔法轨道-只试网. Schema 版本 (schemaVersion: 1);起伏为主. 在根上列出的大门之前不要部署到生产中 README.md 状况科 已经清除。 每一个安全发现都有监控 docs/audits/findings.yaml。 。 。 .
构建
pnpm --filter @agenticprimitives/audit typecheck
pnpm --filter @agenticprimitives/audit test
pnpm --filter @agenticprimitives/audit build