跳转到内容

EATP SDK

EATP SDK 是完整实现 企业代理信任协议(英文)规范的独立 Python 包。它不是访问控制库,也不是权限框架。EATP SDK 实现的是密码学信任谱系:每一个代理动作都可通过签名谱系回溯至授权它的人类权威。它独立于更大的 Kailash 平台,使用者无需学习或部署完整栈即可单独采用。

Terminal window
pip install eatp

可选附加项:

Terminal window
pip install eatp[postgres] # 基于 PostgreSQL 的信任存储
pip install eatp[dev] # 开发工具(pytest、mypy、ruff)

要求 Python 3.11+。

EATP SDK 实现了由五项要素构成的信任谱系链(Trust Lineage Chain):

  1. 起源记录(Genesis Record):确立组织的授权根源,即所有委派由此展开的起点
  2. 委派记录(Delegation Record):在实体之间转移有边界的授权;授权永远不能扩展到超出所接收的范围
  3. 约束包络(Constraint Envelope):规定被允许行为的五个维度:财务、运营、时间、数据访问、通信
  4. 能力证明(Capability Attestation):确认代理具备在其被委派授权范围内运作所需的能力
  5. 审计锚点(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 asyncio
from eatp import TrustOperations, TrustKeyManager, CapabilityRequest
from eatp.chain import AuthorityType, CapabilityType
from eatp.crypto import generate_keypair
from eatp.store.memory import InMemoryTrustStore
from 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())
模块用途
eatp.chain信任谱系记录(Genesis、Delegation、Constraint Envelope)
eatp.cryptoEd25519 密钥生成与签名
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
PyPIpip install eatp
规范EATP(英文)(CC BY 4.0)
所有者泰睿基金会