loops Bigharness.ai
BIGHARNESS DAILY · No. 14 2026 年 九 月 19 日 中文

补来源标注的一天:Claude Code 给子 agent 的输出加来源头、AGENTS.md 补位缺失的 CLAUDE.md;而 skill 的预授权随产物生效、ZCode 的两个开关都管不住它上传整个 .git

今日判词:今天最连贯的一条线是『标注来源』。9/18 Claude Code 2.1.277 把子 agent 的结果改成带『这是子 agent 输出』的头部与缩进,使子 agent 的文本不能再被当作会话指令——护栏要成立,先得让读方分得清哪段是数据、哪段是指令;同版还让没有 CLAUDE.md 的项目回退读 AGENTS.md,把『这份指令谁写的』这件事显式化。反例在同一周:ZCode 把整个 .git 当快照静默加密上传(313MB/42,411 文件,.git 占 86.6%),而『优化体验』与『仓库快照索引』两个开关都不在这条链路上——同意没有挂到被记录的动作上。再往上,arXiv 2609.07360 用 3,171 个仓库说明:skill 的 allowed-tools 预授权写在产物里、随安装生效,16.0% 的配置含已确认安全缺陷。判词:执法点不在名词(allowlist、开关、pin),而在这次动作有没有可核对的来源与授权。

热度盘面 Top 4

  1. 2.1.277(9/18)起,文件夹里没有 CLAUDE.md 时 Claude 会回退读 AGENTS.md;两者都在则只读 CLAUDE.md(直读 AGENTS.md 需 ≥2.1.277,文档称 Bedrock/Vertex/Foundry 等环境暂不可读)。同版把子 agent 的结果改为带『子 agent 输出』的头部与缩进呈现,使子 agent 的文本不能再被冒充为会话指令;另修 SessionStart hook 打印输出导致续接会话丢失首条消息、进而整段 prompt-cache miss,以及 sandbox.excludedCommands 的通配在复合 Bash 命令里只要一段命中就豁免整条(现要求每一段都命中)。(release v2.1.277;HN 讨论约 496 分/181 评论)

    编辑注 『子 agent 输出加来源头』是今天最该抄的一条:多 agent 系统里,指令与数据的边界不是靠措辞,是靠结构性标注。AGENTS.md 回退值得跟,但两者并存只读 CLAUDE.md 的优先级要写进你的规则档,别让模型自己猜。

  2. #2 Zhipu Z.ai:ZCode 安全

    研究者 ferstar 逆向发现,ZCode(GLM 编程桌面端)在登录状态下把整个工作区打包加密上传阿里云 OSS:一次快照 42,411 个文件、约 313MB,其中 .git 占 86.6%(LFS 196MB、objects 102MB),可暴露已删凭据、未推分支名与内部主机名。加密为信封式(AES-256-CTR + RSA-OAEP-SHA256),公钥由服务端下发、私钥只在 Z.ai 云上,用户拿到密文也解不开;另有 564 次失败上传在重试队列。两个 UI 开关都不覆盖这条路径:『优化体验』只管是否授权用于训练,『仓库快照索引』只管服务端是否索引。官方已致歉、称已修复,并承诺开源代码库接受第三方审查。(HN 约 251 分)

    编辑注 要抄的不是它的加密方式,而是开关的归属:同意必须挂在被记录的那个动作上,否则开关只是替别的动作背书。自查有没有一条数据出口,其开关在 UI 上、却不在同一条链路上;删本地快照只会触发重采,要停得先停采集。

  3. #3 openai/codex 发布

    0.155.0(9/17)把自动审批复核做成可区分结果:更可靠地保留完整的动作与授权证据、对瞬时失败重试,并把『复核失败』与『发现不安全动作』分开报——两种情况此前可能被混为一谈。同期:Guardian 复核者改为走摘要式 compaction;凭证代理开启时保护 shell 快照以免凭据外泄;MCP 请求在支持的 Mac 上可用 Touch ID 验证;新增 executor-context 文件系统权限助手。alpha 线已到 0.156.0-alpha.5(9/19 00:22),暂无 changelog。

    编辑注 『复核失败 ≠ 发现不安全』是一条判据,不只是 changelog 条目:安全决策最怕被一次失败的复核悄悄放行。自建审批链的把这两种结果落到不同事件、保留授权证据以便回查,再谈自动化。

  4. #4 arXiv:2609.07360 研究

    《Scanning the Harness》(9/7,四位 Red Hat 研究者)对 3,171 个公开仓库的 agent 配置做字节级静态扫描加多模型裁定:16.0% 的配置含已确认安全缺陷。三类为主——解释器授权 3.1%(如 Bash(python:*),`-c` 可执行任意串;同类 awk/find/sed)、未钉版本的 MCP server 9.8%(`npx -y @scope/x` 每次启动从公共 registry 拉取、以 agent 权限运行)、skill 自带 shell 预授权 3.8%(allowed-tools 随安装生效,作者称这是唯一在发布时而非组装时出现的缺陷类)。配套工具 harness-eval(Apache-2.0)提供扫描/lint/gate。

    编辑注 把『allowlist 不是边界,是你决定不再看的那张清单』当默认假设:前缀授权一旦命名解释器,就等于命名任意命令。行动:钉 MCP 版本或 digest、给 agent 配置路径上 CODEOWNERS、把边界放在沙箱加 PreToolUse,而不是前缀放行。

雷达上值得盯的 2 件事

trend AGENTS.md 正收敛成跨 harness 的指令文件:Claude Code 2.1.277 起在缺少 CLAUDE.md 时读它,Codex、Cursor、Gemini CLI、Copilot 已在支持;代价是两者并存时的优先级(只读 CLAUDE.md)成为新的歧义点——多一套指令文件,就多一处需要写死来源规则的地方。
trend harness 开始被当作『被 control plane 驱动的 headless loop』单独打分:headless-harness-bench(9/17 建,仅 3 次提交、1★,规模还很小)给出两档——静态源码审计(8 类加权、带 file:line 引用)与实跑(golden 任务跑 qwen3.7-flash),并指出默认只有 dsh 清洗子进程环境、pi 更便宜更快。热度不足,但『按可编排性而非键盘 UX 打分』这个轴值得跟。

今天几处改动都在补来源标注:子 agent 的输出被标成子 agent 输出、AGENTS.md 补位缺失的 CLAUDE.md,而 skill 的预授权却写在产物里、随安装自动生效。护栏执法的前提,是先知道这条内容与这份授权是谁写的;ZCode 的两个开关管不住整库 .git 上传,正是同意没挂到被记录的动作上。