Tools 导读

Exec approvals — advanced:它会替你伸哪只手

Exec approvals — advanced 不是名词卡片,而是一只会伸出来帮忙的手。你要看清它什么时候出手、抓进去什么、递回来什么,还有每个参数到底像哪颗按钮。原文最响的一记鼓点,其实是:Advanced exec-approval topics: the safeBins fast-path, interpreter/runtime binding, and…。

先讲这一页到底在解决什么

Exec approvals — advanced:它会替你伸哪只手

Exec approvals — advanced 不是名词卡片,而是一只会伸出来帮忙的手。你要看清它什么时候出手、抓进去什么、递回来什么,还有每个参数到底像哪颗按钮。原文最响的一记鼓点,其实是:Advanced exec-approval topics: the safeBins fast-path, interpreter/runtime binding, and…。

原文共 16 节,先看 Start Here 路径:/tools/exec-approvals-advanced 查看官方原文

第一站

safeBins 像“只能处理递进来的纸条”的小剪刀

有些命令很小,只负责整理输入内容,比如从一段文本里剪出几列。OpenClaw 可以把这类命令放进 safeBins,让它们在 allowlist 模式下更顺畅。

为什么叫 stdin-only

它只能吃别人递给它的输入,不能自己拿文件路径去翻主机里的东西。像小剪刀只能剪桌上的纸,不能开抽屉。

为什么不能放解释器

python3nodebash 这类工具会执行代码,能力太大,不能当成“小剪刀”快放行。

验证方式

OpenClaw 看的是参数形状,不靠“这个文件存不存在”来判断,避免让命令审批变成探测文件的小缝。

可信目录

safe bin 必须从可信二进制目录里找到,默认很收紧,比如 /bin/usr/bin

第二站

解释器和 shell 像万能工具箱,所以要绑得更紧

普通命令可能只是做一件事,解释器却能读文件、跑代码、再叫别的命令。高级审批会把这类运行方式看得更严。

shell 链式命令

&&;、管道这类组合,必须每一段都满足规则。像一串小火车,每节车厢都要验票。

wrapper 会被拆开看

npxnpm execpnpm exec 这类包装纸会被拆开,不能靠换一层外衣绕过审批。

环境变量

shell wrapper 只允许很小一组请求级环境变量,例如颜色和语言相关项,减少偷偷带东西进去的机会。

核心判断

能执行代码的工具,就不应该享受 safe bin 的快速通道。

第三站

审批转发像把“请签字”纸条送到聊天软件

审批不一定只留在本地页面。OpenClaw 可以把 exec 或 plugin 审批请求送到 Slack、Matrix、Teams、Discord、Telegram 等通道,让有权限的人用 /approve 处理。

same-chat approval

如果请求本来就从可投递聊天里来,通常可以在同一个聊天里批准,像原地递回签字纸。

native approval

有些通道还能用原生按钮或卡片,体验更像真正的审批弹窗。

exec 和 plugin 分开配

approvals.execapprovals.plugin 是两套开关。开一个,不代表另一个也开。

macOS IPC

macOS 伴随应用的审批链路会用本地 socket、token、HMAC 和短时效校验,尽量保证“签字纸”没被别人调包。

最后总结

把高级审批压成一句话

这一页是在教你把命令审批做细:小而受限的工具可以快一点,万能解释器必须严一点,审批纸条可以安全地送到合适的聊天通道。