AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

feat(connection): verify delegated assertions and actor bindings

Đang mở
#391 3 bình luận 0 reaction 1 người được giao Được giao cho @guoxianzhe Xem trên GitHub
enhancement
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á.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.