EATP SDK
EATP SDK 是完整实现 企业代理信任协议(英文)规范的独立 Python 包。它不是访问控制库,也不是权限框架。EATP SDK 实现的是密码学信任谱系:每一个代理动作都可通过签名谱系回溯至授权它的人类权威。它独立于更大的 Kailash 平台,使用者无需学习或部署完整栈即可单独采用。
pip install eatp可选附加项:
pip install eatp[postgres] # 基于 PostgreSQL 的信任存储pip install eatp[dev] # 开发工具(pytest、mypy、ruff)要求 Python 3.11+。
EATP SDK 实现了由五项要素构成的信任谱系链(Trust Lineage Chain):
- 起源记录(Genesis Record):确立组织的授权根源,即所有委派由此展开的起点
- 委派记录(Delegation Record):在实体之间转移有边界的授权;授权永远不能扩展到超出所接收的范围
- 约束包络(Constraint Envelope):规定被允许行为的五个维度:财务、运营、时间、数据访问、通信
- 能力证明(Capability Attestation):确认代理具备在其被委派授权范围内运作所需的能力
- 审计锚点(Audit Anchor):生成防篡改记录,将每一个动作与授权它的信任谱系相绑定
- 基于数据类的决策记录:所有信任记录均使用 Python dataclass,并提供
to_dict()与from_dict()序列化 - Ed25519 签名:所有信任谱系元素强制使用密码学签名
- HMAC 完整性校验:作为可选叠加层用于完整性检查
- 信任状态单调升级:信任状态只能升级(Auto-Approved、Flagged、Held、Blocked),不可降级
- 推理轨迹(v2.2):可被机器验证的信任决策理由记录,配套五级保密分级
- 多种存储后端:内存、文件系统、SQLite 与 PostgreSQL 信任存储
- CLI 接口:在终端中完成完整的信任生命周期管理
eatp 命令提供信任生命周期管理:
| 命令 | 功能 |
|---|---|
eatp init | 创建权威方密钥对并生成起源记录 |
eatp establish | 为新代理建立信任 |
eatp delegate | 向其他代理委派能力 |
eatp verify | 针对某一动作校验代理的信任 |
eatp revoke | 撤销代理的信任或委派 |
eatp status | 显示代理的信任谱系状态 |
import asynciofrom eatp import TrustOperations, TrustKeyManager, CapabilityRequestfrom eatp.chain import AuthorityType, CapabilityTypefrom eatp.crypto import generate_keypairfrom eatp.store.memory import InMemoryTrustStorefrom eatp.authority import OrganizationalAuthority, AuthorityPermission
async def main(): # 初始化 store = InMemoryTrustStore() await store.initialize() key_mgr = TrustKeyManager() priv_key, pub_key = generate_keypair() key_mgr.register_key("key-org", priv_key)
# 注册权威方 authority = OrganizationalAuthority( id="org-acme", name="ACME Corp", authority_type=AuthorityType.ORGANIZATION, public_key=pub_key, signing_key_id="key-org", permissions=[AuthorityPermission.CREATE_AGENTS], )
class Registry: async def initialize(self): pass async def get_authority(self, aid, include_inactive=False): return authority
# 建立信任 ops = TrustOperations( authority_registry=Registry(), key_manager=key_mgr, trust_store=store, ) chain = await ops.establish( agent_id="agent-001", authority_id="org-acme", capabilities=[ CapabilityRequest( capability="analyze_data", capability_type=CapabilityType.ACTION ), ], )
# 行动前先校验 result = await ops.verify( agent_id="agent-001", action="analyze_data" ) print(f"Verified: {result.valid}") # True
asyncio.run(main())SDK 模块
Section titled “SDK 模块”| 模块 | 用途 |
|---|---|
eatp.chain | 信任谱系记录(Genesis、Delegation、Constraint Envelope) |
eatp.crypto | Ed25519 密钥生成与签名 |
eatp.authority | 组织权威管理 |
eatp.constraints | 五维约束的定义与求值 |
eatp.enforce | 运行时约束强制执行 |
eatp.governance | 治理策略管理 |
eatp.interop | 跨组织信任互操作 |
eatp.registry | 权威与代理注册表 |
eatp.store | 信任记录持久化(内存、文件系统、SQLite、PostgreSQL) |
| 许可证 | Apache 2.0 |
| 语言 | Python 3.11+ |
| 源代码 | github.com/terrene-foundation/kailash-py(英文)(目录 packages/eatp) |
| PyPI | pip install eatp |
| 规范 | EATP(英文)(CC BY 4.0) |
| 所有者 | 泰睿基金会 |
- EATP 规范(英文):完整的协议规范
- 快速入门指南:构建你的第一个信任谱系
- CARE 平台:基于 EATP 的完整治理平台
- 双平面模型(英文):EATP 所校验的架构