Skip to content

feat(ISSUE-263): W3-C4 CNB dispatch 通道与 fallback (#280) - #77

Closed
cloudbrid-agent[bot] wants to merge 1 commit into
mainfrom
feat/280-cnb-bridge
Closed

feat(ISSUE-263): W3-C4 CNB dispatch 通道与 fallback (#280)#77
cloudbrid-agent[bot] wants to merge 1 commit into
mainfrom
feat/280-cnb-bridge

Conversation

@cloudbrid-agent

Copy link
Copy Markdown
Contributor

Summary

CNB dispatch 通道 + canary + fallback 链。凭据纪律:CNB 沙箱只接触公开内容,零 GitHub 凭据注入(INV-02 / AC-6)。

  • pipeline/adversary/cnb_bridge.py:
    • CNB 主通道:CNB_TOKEN org secret 注入,canary 先行(30–60s echo 任务验证云端存活)→ 窗口抢占/投递/轮询/收集
    • 自有 API 回退:CNB 失败时回退到 LLM_ENDPOINT 直连(ADR-0048)
    • no-attempts:自有 API 也失败 → 锁 needs-human + 自动开 issue
    • 熔断:连续 3 次 fallback 或 CNB 额度尽(429/402)→ 自动开 type:infra issue
    • 凭据审计:派发前扫描 payload,发现 GitHub 凭据形状即拒绝派发(fail-closed)
    • 三模式 CLI:dispatch / canary / credential-audit
  • 与 W3-C1 adversary workflow(run.py / run-adversary.sh)调用接口兼容:
    • 输入:--issue / --spec-path / --card-id / --audit-run-id
    • 输出:cnb-bridge-report/v1 JSON 元数据供下游状态机消费
    • 退出码:0=CNB 成功 | 1=自有 API 成功(降级) | 2=配置/凭据/环境异常 | 3=no-attempts

Blast radius

  • CI-Workflows: pipeline/adversary/cnb_bridge.py

凭据纪律

本模块严格遵循 INV-02(GITHUB_TOKEN 不持有状态写权)与 AC-6(沙箱零 GitHub 凭据):

  • CNB 派发前经 credential_audit() 扫描,命中 ghp_/ghs_/github_pat_/GH_TOKEN/GITHUB_TOKEN 等形状即 fail-closed
  • 沙箱任务标记 public_only: true

Closes Cloudbird-Software/.github#280

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

W3-C4: CNB dispatch 通道 + canary + fallback 链

0 participants