今天几条信号在问同一件事:判断该留在 agent loop 里,还是搬出去。ax 把隔离与出网做成集群原语,Snowflake 把压缩做成平台端点,Jev 把路由切给独立决策模型。Heapjack 与 Overpatch 的根因一致:执法者若与被执法对象共用信任域,护栏只是装饰。搬出去不是目的,独立成域才是。
判断正被搬出 agent loop:隔离进集群原语、路由进独立决策模型、压缩进平台端点——而 Codex 两个逃逸说明,把执法留在被执法对象里,护栏只是装饰
热度盘面 Top 5
-
google/ax(Apache-2.0,Go,仓库页 ≈6.0k★)9/20–21 登上 HN 首页(v0.3.0):把 agent 任务当一类独立工作负载,四个声明式原语覆盖——Task(沙箱内跑不可信 agent 代码,限 CPU/内存)、Workspace(预接 Git 仓库、MCP server、skill 包,让 agent 冷启动即热)、Gateway(出网锁到显式主机白名单)、Model(集中模型与凭据,K8s secret),外加 ax suspend/resume 与 ax ssh,manifest 为 ax.io/v1alpha1。v0.3.0 把运行时拆成 ax-server(gRPC 前端)/ax-controller(reconciler)/ax-task-runner,并把任务状态从 K8s CRD 移进 Redis Streams——理由是 etcd 不是为百万级短命 agent 任务的写入 churn 设计的。跑在 Agent Substrate 上(GKE Sandbox/gVisor + pod 快照复水,该仓库自述非 Google 官方支持产品)。共同作者(rakyll)在 HN 强调它『不是 agentic 框架』,只是 job orchestration 旁的一层;README 自陈核心概念与协议仍在改、stable 前会有破坏性变更。
编辑注 值得抄的是它把三件 harness 关心的事从提示词约定升成集群原语:隔离、出网白名单、预热工作区——尤其 Gateway 的显式主机白名单,正是这几天反复被击穿的出网面。但先别上生产:项目自陈 pre-stable,Agent Substrate 又明确不属官方支持。
-
Accomplish AI 的 Oren Yomtov 公开(细节 9/15,媒体 9/21 跟进)两个 Codex 沙箱逃逸。Heapjack:Codex Desktop 静默安装的 helper node_repl 让不可信 agent 代码与持有令牌的可信上下文共享同一个 Node.js 堆,agent 侧调 v8.getHeapSnapshot() 从堆快照里取出 secret token,再用它经共享管道发伪造请求,父进程只校验 token 便放行在宿主机执行;触发只需在只读模式打开一个克隆仓库并提问。Overpatch:开源 Codex CLI 的 apply_patch 按补丁里每个路径的父目录推导权限,写上 /tmp 就把已授权范围扩到磁盘根;一个两条目的补丁(一条经符号链接写 ~/.zshrc、一条命名 /tmp)在第二条失败后仍保留宽权限,被改的 .zshrc 在下次 shell 启动时于沙箱外持久执行,workspace-write 模式下无需批准。8/12 报给 OpenAI,8 天内修复,修复在 Codex CLI 0.149.0 与 Desktop build 26.818.21641。
编辑注 两个洞都不是模型被骗,而是 harness 把『执行与校验』和『被信任的东西』放进了同一信任域——堆同享、权限由路径父目录推导。判据:凡执行点与它要防的对象共享内存、权限或进程,护栏都只是装饰;先把执法挪到独立域,再谈规则。
- #3 TypeSafe/Jev 架构
TypeSafe 的 Jev『System One』模型(9 月中旬 early access,创始人 Diogo Almeida,前 OpenAI)把高频判断从大模型切出来:给一份状态(日志行/工单/JSON)加一组带类型的提问,它只在你声明过的选项里作答——Choice(≤255 个封闭选项,返回选择/分布/置信度)、Score(按有序 rubric 打分)、Noul(yes/no 概率),不做文本生成,自称因此不会产生幻觉或类型错误(仍可能选错,但只会在选项集内或弃答);自称比前沿模型快 40–200×、约 $0.042/M 输入 token、端到端 70–500ms、状态加问题预算约 32k token。9/18 SuperQode 的 SystemOne Harness 把它接成原生 loop 的可选决策层(写代码仍归编码模型,控制流、策略与执行权限归 SuperQode):先用词法检索召回至多 8 个候选工具,Jev 从封闭集里选或返回 none;默认 shadow 模式(只记录建议、权限照旧),并明确『置信度不是权限』——硬 YAML 与 permission-manager 的拒绝排在 Jev 闸门之前。
编辑注 把路由、门控、输入输出筛查从模型剥成可校验的 typed decision,方向对;真正该抄的是它的接线纪律:先 shadow 跑、置信度不得覆盖既定拒绝、候选集封闭。别把决策层的分数直接当授权用。
-
Snowflake 9/21 release notes:Cortex Agents Compact API 进入 preview,新增 agent:compact 端点——把一段对话总结成 compact 表示,再喂给后续 agent:run 调用。官方理由写得很直白:压缩对话历史降 token 消耗、帮助对话留在模型上下文窗口内。支持内联 transcript 与存放在 Cortex Agent threads 里的对话;preview 阶段未列配额或限制。
编辑注 压缩从客户端 harness 的内部策略变成平台的一个 REST 端点,是『harness 职责外移』的又一例——好处是跨客户端一致、可观测,代价是压缩策略从此不归你定,而压缩本身有损(与 9/21 ASD 那条『删而不摘』正好相反)。接之前先问:它压掉什么、留下什么,以及你能不能审计。
-
《Trust propagation and structural containment in Multi-agent LLM pipelines》(9/15,IEEE CARS 2026):在四 agent LangGraph 管线(Supervisor/Researcher/Validator/Executor)上做共享记忆投毒与经检索文档的伪造批准注入。提出 Judgment Bypass Rate(JBR)——量的是被攻击的那个 agent 是否已被攻陷,而非最终动作是否发生。3 seed、60 任务:无防护时投毒每次都走到执行;加上独立授权层(任务绑定的签名令牌加单独校验的 policy oracle)后,出现『100% JBR 但 0% Unsafe Action Rate』——Validator 已被攻陷,执行仍被结构性挡住。攻击者持有签名密钥时,围堵由 policy oracle 提供;另有一个 Observer 层把 agent 劫持的误报从 49% 降到 7%。
编辑注 它把『agent 被攻陷』与『动作被执行』拆成两个指标,正好解释了为什么『模型判对了』不能当护栏——该做的是让授权在 agent 的判断之外独立成立。抄它的结构:签名令牌绑任务与作用域,授权判定交给与被保护对象分离的 oracle。