问题描述
gate.yml 的 adr-required 步骤仅做语法检查(\bADR-[0-9]{4}\b),不验证 ADR 是否真实存在于 agent-registry/decisions/。原因是 agent-registry 是私有仓,PR 上下文 GITHUB_TOKEN 无跨仓读权。
攻击者可提交 ADR-9999 这种伪造引用通过 gate,C1 变更的决策背书完全虚假。drift-check §10 每日后验才能发现,最长 24h 窗口。
影响范围
- .github/workflows/gate.yml: adr-required 步骤
- governance/flows.governance_change: C1 类变更
严重度
P0 — C1 变更决策追溯链断裂
改进建议
- PR 级 ADR 存在性验证:注入最小权限只读 token 验证 ADR 存在
- 将 drift-check §10 的后验检测提前到 PR 合并时
- 评估 ADR 验证 token 的 secret 暴露风险
红队演练来源
2026-08-19 红队演练:Agent 角色约束 + 治理流程漏洞
问题描述
gate.yml 的
adr-required步骤仅做语法检查(\bADR-[0-9]{4}\b),不验证 ADR 是否真实存在于 agent-registry/decisions/。原因是 agent-registry 是私有仓,PR 上下文 GITHUB_TOKEN 无跨仓读权。攻击者可提交
ADR-9999这种伪造引用通过 gate,C1 变更的决策背书完全虚假。drift-check §10 每日后验才能发现,最长 24h 窗口。影响范围
严重度
P0 — C1 变更决策追溯链断裂
改进建议
红队演练来源
2026-08-19 红队演练:Agent 角色约束 + 治理流程漏洞