From 17ea7f552027dab2c1db783c4903224288d2c158 Mon Sep 17 00:00:00 2001 From: weichen Date: Sun, 18 Oct 2026 04:25:29 +0000 Subject: [PATCH] Record the u10 token-leak fix and incident in the task card Why: a malformed token printed credentials in a traceback before merge; u10 fixes it. Evidence: u10 receipt /tmp/govv3-u10-receipt.json (SELF); fake-value repro shows no token in output. Impact: .task only. Refs: PR #608 Co-authored-by: Cursor --- .task/feature-delivery-model-v3.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.task/feature-delivery-model-v3.md b/.task/feature-delivery-model-v3.md index 1b3e4a22..2d29e7c4 100644 --- a/.task/feature-delivery-model-v3.md +++ b/.task/feature-delivery-model-v3.md @@ -48,6 +48,9 @@ L1 章程(治理大任务):落实"分层分支交付与规范精简 r1"— | govv3-u7-lanes-level-gates-doc | policy/delivery.md 层级/通道/门禁 | caefcb72b970 | implementation | cursor, antigravity, pi | 1 | cursor (cursor-agent-stable) | success,apply 快进 | 48a8029 | false | /tmp/govv3-u7-receipt.json | | govv3-u8-evidence-summary-in-card | evidence 摘要入卡、完整收据源码外、check-evidence | caefcb72b970 | implementation | cursor, antigravity, pi | 1 | cursor (cursor-agent-stable) | success,apply 快进 | a28318c | false | /tmp/govv3-u8-receipt.json | | govv3-u9-slim-spec | AGENTS.md 入口化、合入调度并入 delivery.md、去重 | caefcb72b970 | implementation | cursor, antigravity, pi | 1 | cursor (cursor-agent-stable) | success,apply 快进 | 8b769e8 | false | /tmp/govv3-u9-receipt.json | +| govv3-u10-no-token-in-tracebacks | task_triage read_token 校验与 HOME 段选择、http_get_json 不外泄异常文本、AGENTS.md token 取值事实 | caefcb72b970 | implementation | cursor, antigravity, pi | 1 | cursor (cursor-agent-stable) | success,apply 快进 | e5ba5ff | false | /tmp/govv3-u10-receipt.json | + +- 安全事件(2026-10-18,合入前发现):host 按 AGENTS.md 旧事实 `grep ACCESS_TOKEN … | cut` 取值,得到 HOME/IMC 两段拼接的两行值传入 GITEA_TOKEN;`close --self` 经 task_triage.http_get_json 触发 http.client 的 Invalid header value,未捕获的 traceback 把两个 token 明文打印到本会话工具输出。未进入仓库、任务卡、PR 或 CI。处置:u10 修复(格式校验、异常只报类型名、HOME 段选择、AGENTS.md 事实改为 F2 命令)并以假值复现确认;两个 token 需由 owner 轮换(凭据操作,Agent 不代为执行)。 - u2 第一次运行对账:规范检出未变、无 transport、私有工作区保留;处置:单元包改用既有 gitlink 提升模式(本地 clone --no-checkout 后 detach,禁止 submodule/add/update-index),全新派发。 - Documents #111(host 直写 docs/proposals,不在豁免路径内)已关闭并删除分支,改由 u1 撰写。 @@ -127,7 +130,7 @@ L1 章程(治理大任务):落实"分层分支交付与规范精简 r1"— - 结果:R1–R5 已实现并集成(u1–u9);R6 复测计划已登记,执行日约 2026-11-01。 - 验证:make test-affected PASS(SELF,receipt 129da9f9,466 tests OK/18 skipped);task-sync PASS(SELF,sync_base 32b585a);PR #608 CI 在 6f1968e 上 test/test-pg/svc-realcombo 均 success(GATE);最终 head 的 CI 见 CI 记录。 -- 影响与剩余项:非阻塞后续(独立 Review 提出,未在本 L1 处理):①同分支多份合入前闭合归档卡时 task.sh/evidence.py 静默取第一份,宜与 task_pr_check 一致拒绝;②scripts/test_affected.py 函数内 import 移到顶部,并纳入未跟踪新文件;③AGENTS.md 三段证据表述补"按层级,见分级门禁";④close --self 核对卡内分支行与 PR base;⑤自动 precheck 临时路径改用 mktemp -d。 +- 影响与剩余项:非阻塞后续(独立 Review 提出,未在本 L1 处理):①同分支多份合入前闭合归档卡时 task.sh/evidence.py 静默取第一份,宜与 task_pr_check 一致拒绝;②scripts/test_affected.py 函数内 import 移到顶部,并纳入未跟踪新文件;③AGENTS.md 三段证据表述补"按层级,见分级门禁";④close --self 核对卡内分支行与 PR base;⑤自动 precheck 临时路径改用 mktemp -d。待 owner:轮换 ~/.secrets/gitea 中 HOME 与 IMC 两个 ACCESS_TOKEN(见安全事件)。 ## 规划进展与下一步