docs: clarify proxy pcexec rules

This commit is contained in:
nav
2026-03-30 09:22:25 +00:00
parent 95fb9ba820
commit 4a8a4b01cb

View File

@@ -20,8 +20,10 @@
建议约束:
- `config.proxy-allowlist` 应为 agent 标识列表
- `allowlist` 仅支持精确匹配,不支持通配、分组或模糊匹配
- 若调用方不在 allowlist 中,应直接拒绝调用
- 默认配置应偏保守;未配置时建议视为不允许任何 agent 调用
- 一旦调用方 agent 在 allowlist 中,则允许其代理任意 `proxy-for`
### 3. `proxy-pcexec` 与 `pcexec` 的关键区别
`proxy-pcexec` 的功能与 `pcexec` 基本一致,核心差异如下:
@@ -44,9 +46,14 @@
### 权限校验
调用 `proxy-pcexec` 时应至少进行以下校验:
1. 校验调用方 agent 是否在 `config.proxy-allowlist`
1. 校验调用方 agent 是否在 `config.proxy-allowlist`(精确匹配)
2. 校验 `proxy-for` 是否存在且非空
3. 通过校验后,再执行与 `pcexec` 等价的命令执行流程
3. 不要求 `proxy-for` 必须是已注册或已知 agent-id可自由填写
4. 通过校验后,再执行与 `pcexec` 等价的命令执行流程
说明:
- allowlist 控制的是“谁可以发起代理执行”
- 只要调用方 agent 在 allowlist 中,就允许其代理任意 agent
### 环境变量注入
- `AGENT_ID` = `proxy-for`
@@ -60,11 +67,14 @@
- 通过显式 `proxy-for` 参数,避免隐式身份继承
- 让代理身份切换是显式、可审计、可配置的
## 待进一步明确的问题
- `proxy-for` 是否只允许填写已注册/已知的 agent-id
- 审计日志中是否需要同时记录:
- 实际调用者 agent-id
- `proxy-for`
- 最终执行命令
- `config.proxy-allowlist` 的格式是否需要支持通配、分组或仅支持精确匹配
- 是否需要对 `proxy-for` 再增加单独 allowlist / 映射限制,避免允许调用者代理任意 agent
## 日志与审计
建议日志至少记录:
- `executor`(调用方真实 agent-id
- `proxy-for`
- 最终执行命令
## 已明确的设计结论
- `proxy-for` 可以随意填写,不要求必须是已注册 agent
- 日志需要记录 `executor``proxy-for`
- `config.proxy-allowlist` 仅支持精确匹配
- allowlist 中的 agent 可以代理任意 agent不需要额外的 `proxy-for` 限制