Zahanturel/adtp
GitHub: Zahanturel/adtp
ADTP 为 AI agent 提供基于密码学的独立身份、签名委派链与级联撤销机制,解决 agent 凭证共享与权限不可追溯的问题。
Stars: 0 | Forks: 0
# ADTP — Agent Delegation and Trust Protocol
## 问题所在
AI agent 共享人类的凭证。委派链条是不可见的。撤销操作只能是尽力而为。
当出现问题时——而且这是必然的——没有任何密码学记录可以证明谁授权了哪个 agent,以及它被允许做什么。
## ADTP 的作用
- 每个 agent 拥有独立的 **did:key 身份** — 无需共享凭证,无需服务账户
- **UCAN 凭证签发** — 每一次委派都经过密码学签名
- **RESTRICT 模式** — 结构性提权预防;任何后代都不能超越其祖先的权限
- **13 步链条验证** — 从结构有效性到跨组织策略评估
- **可证明完整的级联撤销** — 注册不变式确保每一个后代都会被撤销
- **跨组织双边信任** — 组织之间非传递性、有深度限制的协议
## 快速开始
```
git clone https://github.com/Zahanturel/adtp.git
cd adtp && make build
./adtpd --config config.yaml
# → adtpd 监听于 127.0.0.1:8080
# → 生成的 API key: abc123... ← 复制此内容
# 注册一个 agent(使用上面打印的 API key)
curl -H "Authorization: Bearer " \
-X POST localhost:8080/v1/agents \
-d '{"sponsor_did":"did:key:z6Mk..."}'
```
## 集成
| 层级 | 支持 |
|---|---|
| 身份提供者 | Entra, Okta, Auth0 (通过 OIDC) |
| SIEM / 审计 | Datadog, Splunk, Elastic (通过 webhook) |
| Agent 平台 | MCP, A2A, LangGraph, CrewAI |
## 技术亮点
- Go daemon,单一静态二进制文件。无运行时依赖。
- Ed25519 签名,并规划了后量子迁移路径 (ML-DSA-65)。
- RESTRICT 模式:结构性提权预防。TCB 中无语义比较。
- 13 步凭证链验证。
- Apache 2.0 开源。
## 状态
- [x] Go daemon (12,600+ 行)
- [ ] Python client SDK
- [ ] TypeScript client SDK
- [ ] 托管选项
## 链接
- [着陆页](https://zahanturel.github.io/adtp/) — 项目主页
- [协议规范](docs/PROTOCOL.md)
## 在 Windows 上构建
Makefile 需要兼容 Unix 的 shell。请使用 Git Bash、WSL 或 MSYS2。或者,直接运行 Go 命令:
```
go build -o adtpd.exe ./cmd/adtpd
go test ./...
```
## 许可证
[Apache 2.0](LICENSE)
标签:AI代理, EVTX分析, Go语言, Streamlit, 区块链与密码学, 日志审计, 权限委派, 程序破解, 访问控制, 零信任架构