Repository navigation
Conversation
momo-mnsjtxy
marked this pull request as ready for review
October 7, 2026 07:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景与已有隔离的关系
Zakura 已有 Docker 工作区隔离和工具权限控制。本改动补充一种可选、限制更严格的逐命令执行策略,不把既有工作区称作无隔离,也不替代完整编码环境。
/workspace,支持终端、浏览器和 ACP:工作区创建、执行分流。改动
/tmp;限制内存 512 MiB、1 CPU、64 PIDs、最长 300 秒、每路输出 256 KiB、最多 4 个并发执行。config.executionMode="sandbox"后,只允许强制受限shell_exec和ask_user;其他工具及 ACP 拒绝,模型参数不能降低限制。host、workspace-container、sandbox;restrictedPolicyApplied仅表示新受限策略,已有 Docker 工作区仍准确标识为容器隔离。兼容性与边界
默认行为保留。新受限模式目前只接入 host 类型工作区,通过新容器只读挂载其专用目录;已有 container 类型工作区暂不能直接启用该模式。源码不可持久修改,
/tmp临时且 noexec;因此本模式不能作为现有可写编码、ACP 或浏览器工作区的无损替代。需要本地 Linux Docker、预置可信且无 VOLUME 的镜像及支持
bind-recursive=disabled的引擎。须在开始运行前启用策略,既有宿主任务不会被追溯终止。手动用户管理 API、模型请求与控制面权限属于独立边界。信任 Docker daemon、镜像和宿主工作区管理,且运行期间应避免宿主侧并发修改挂载目录。创建/启动响应丢失及 daemon 故障可能导致结果或清理状态无法确认;会报告不确定性,不盲目重试。这里不声称 VM 隔离、沙箱逃逸认证或全应用数据隔离。
评审后补修
提交
20f03ed5ab15e89328e6175110c0644ce6293e53修正了此前测试未覆盖的边界,未把全部自动评论都当作已确认问题:验证
当前 head
10fa4ce79011d122a8d622ed0853bdb10dd39b54文件树已通过本地完整 Agent 竞态/vet、完整 Server 测试/vet、相关 Server 全包竞态、scanlint、格式及 YAML 检查。独立补丁复核发现的相关问题已修正并增加回归。新增全链路 CI 在
20f03ed上发现真实 runner 的长 JSON 响应会分片,而旧 server 只处理单帧,导致输出丢失和超时。10fa4ce补充有界消息重组及正常分片输出/交错 ping 回归;本地相关竞态、完整 Server 测试/vet 已通过。当前 head
10fa4ce79011d122a8d622ed0853bdb10dd39b54的 fork CI 已成功,已逐项核对日志:本地没有 Docker/PostgreSQL,以上真实后端结果来自该次 CI,不是模拟测试。已确认远端文件树与本地测试树完全一致。此前
20f03ed全链路失败已由分片修复及此次真实运行覆盖。上游当前 head 的两项工作流仍为
action_required,待维护者批准:sandbox-validation、zakura-agent。没有绕过批准,也不把 fork 通过说成上游已通过。PR 当前为待评审状态,未合并或部署。