AgoraIO-Extensions / AgoraIO-Extensions/agent-infra
feat(connection): verify delegated assertions and actor bindings
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 0
- Merge trung bình
- 8 giờ 51 phút
- Pull request đã merge (30 ngày)
- 99
Mô tả
## Problem
Connection 已有 delegated verifier 接口和测试替身,但生产 runtime 未装配签名验证、防重放或 workload-to-Actor 绑定,Agent Platform delegated route 因而必须保持关闭。
## Scope
- 消费已发布的 delegated Execution Grant/Connection contract,实现 Connection 侧签名 envelope 和 workload identity 验证。
- 校验 issuer、audience、issued/expiry、一次性 `jti`、Principal evidence、Consumer/Instance、workload、Actor、ActionVersion、参数摘要、幂等键、deadline 和 recovery generation。
- 在 Grant lookup 前验证已注册 workload、Consumer Actor mode 和 current workload-to-Actor binding;Agent Platform 固定 `REQUIRED` Actor,不能回退到 Consumer-level Grant。
- 使用 PostgreSQL 原子消费或绑定 `jti`,完全相同重放只能读取原 Call,任一绑定字段变化均拒绝。
- 不实现 Platform assertion issuer、GitHub executor、Browser Session 认证或 Grant 创建。
## Acceptance criteria
- [ ] **AC-1:** 有效 Platform assertion 解析到稳定 Principal、注册 Consumer/Instance、workload 和 Agent Actor,并只进入绑定的 exact ActionVersion。
- [ ] **AC-2:** 错误签名、issuer、audience、期限、`jti`、workload、Actor、Action、参数、幂等键、deadline 或 recovery generation 均 fail closed。
- [ ] **AC-3:** `REQUIRED` Actor 缺失、未注册或 workload 无权代表时拒绝且不回退;调用方 body 字段不能替代受信 claim。
- [ ] **AC-4:** 并发/重复 assertion 在 PostgreSQL 中只绑定一个 AuthorizedInvocation/Call,字段不同的重放不得执行。
- [ ] **AC-5:** 与 Platform consumer tests/Fakes 的兼容测试、跨 Principal/Actor/Consumer 攻击测试和 Secret redaction 全部通过。
## Validation
- 运行 delegated contract、signature、binding、replay、concurrency、Actor 和 cross-subject integration tests。
- 运行完整仓库验证序列。
## Blocked by
- #252
- #399
- #398
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.