mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 16:37:34 +00:00
两处都是本地实测发现的,不是推测。 1) 漏判(正确性):尾注预筛写成 `git log --format=%B "$RANGE" | grep -qiE`, 在 `set -o pipefail` 下 grep -q 命中即退出,左侧 git log 收到 SIGPIPE, 整条管道返回非 0,if 判定为"没命中"从而跳过整个尾注检查。 实测:沙箱里 8 条应报错误只报出 6 条,两个带 AI 尾注的提交被静默放过。 改为 here-string(不再有管道),身份预筛同样改掉以杜绝这一类问题。 2) 性能:全量审计路径(新建分支推送、workflow_dispatch)原先为每个提交 各起一个 git 子进程,docker_practice 1,592 个提交实测 50 秒。 现在先用一次 git log 流式预筛,只有命中时才逐个提交定位; 同一仓库实测降到 1 秒,且不改变任何判定结果。 回归验证:被删分支的真实 4 个提交在 push / pull_request / 新建分支三种 形态下仍全部拦下;专门构造的 2,502 提交仓库(身份流 258KB,远超管道缓冲区) 中埋在末尾的 AI 提交能被检出;14 个仓库完整历史仍然零误报; 范围解析失败仍 fail closed,删除分支仍正确放行。