用 shell_environment_policy 收窄子进程环境
默认环境可能含有你不想让 agent 命令看见的密钥。显式控制传入子进程的变量。
在用户 config 里配置 [shell_environment_policy]。官方默认 ignore_default_excludes = true,会跳过对名字含 KEY / SECRET / TOKEN 的自动过滤。要启用那层过滤,必须显式关掉:
[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"
新配置用 filters。同一层不要再写旧的 exclude / include_only,官方参考说两种形式不能混。要给子进程钉死 PATH,用 set,不要靠 experimental_use_profile 去 source 整份 rc。
这是防御纵深,不是第一道防线。第一道仍是 sandbox + 不 yolo。