Skip to content

[P0] ADR 引用可伪造:gate.yml 仅语法检查不验证存在性 #21

Description

@randypanding

问题描述

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 变更决策追溯链断裂

改进建议

  1. PR 级 ADR 存在性验证:注入最小权限只读 token 验证 ADR 存在
  2. 将 drift-check §10 的后验检测提前到 PR 合并时
  3. 评估 ADR 验证 token 的 secret 暴露风险

红队演练来源

2026-08-19 红队演练:Agent 角色约束 + 治理流程漏洞

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0P0 级严重漏洞gateGate 工作流相关red-team红队演练发现

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions