把 LLM 接到 shell、文件系统和网络上,本质上就是给一个会幻觉的实习生发 root。ZeroClaw 在安全上踩了几个比同类框架更保守的默认值,这一篇把它的安全模型分四层讲清楚。
第 0 层:心智模型——deny by default
这是它和 OpenClaw 风格上最大的区别。
- OpenClaw:默认能 shell、能联网、能读文件,靠"用户记得去关"。
- ZeroClaw:默认只能做白名单里允许的事。新增一个 Tool 就要在 config 里显式声明"允许、限制条件、参数模式"。
第 1 层:路径白名单 / 命令白名单
工具调用前,runtime 会过两道闸:
- 路径白名单:文件读写只允许触达预先声明的目录。试图写到
/etc/passwd会直接被拒绝,不用等到 OS 层报错。 - 命令白名单:
shell工具只能跑明确允许的可执行文件。curl允许、bash -c不允许,可以这么细。
加一道符号链接逃逸检测——避免 ln -s / ./safe_dir 这种典型逃逸技巧。