Gemini CLI沙箱修复:trap包裹命令致per-command规则失效
MauroDruwel · ghdev · 2026-10-13
这是 google-gemini/gemini-cli 的一个 PR(#29726),修复 POSIX 平台(Linux/macOS)上 sandbox.toml 中 per-command 规则和会话权限审批从不生效的 bug。
根因:为监控后台任务,Shell 工具会用带 EXIT trap 的 subshell 包裹用户命令,而此前沙箱命令解析的 root 过滤只跳过 shopt 和 set,导致命令名被错误识别为 trap,配置的规则(如 [commands.gradlew])匹配失败,出现只读文件系统或无网络等报错。
修复方式是把 IGNOREDCOMMANDROOTS(shopt/set/trap)集中到 shell-utils.ts,并在各平台 SandboxManager、commandUtils.getCommandName 等处统一使用,同时补齐了覆盖包裹命令与 per-command 权限的单元测试。
「编程与Agent」频道最新
- 跑数千万个无用程序实验:一种交给 LLM 的自动化玩法 — bushibuilds · 2026-10-13
- 开源个人智能体 Xiryn:Docker 沙盒桌面加 Telegram 遥控 — Scobleizer · 2026-10-13
- Grep.ai 上线自定义 Skills:把机构知识变成可复用智能体技能 — garrytan · 2026-10-13
- Witness:记录你的一切操作与视野,让智能体始终懂你上下文 — Scobleizer · 2026-10-13
- MecAgent 2.0 发布,作者宣称「CAD 即将被攻克」 — Scobleizer · 2026-10-13
- 开发者实测:约 25% AI 生成代码在 .NET 8+ 中引入回归 — lucasmeijer · 2026-10-13