为 ClaudeCode / OpenClaw 加上沙盒隔离,保护你的 Mac - x-cmd 沙盒使用指南

如果你想持续获取更多相关资讯,欢迎关注 x-cmd 博客

当你在 Mac 上运行 ClaudeCode、OpenClaw 等 AI 编程助手时,它们会执行各种命令——用户提供的脚本、第三方工具、AI 生成的代码。沙盒隔离是防止 AI 执行错误命令(如 rm -rf /)和 恶意脚本盗取数据(SSH 密钥、云凭证)的关键手段。

请添加图片描述

x mac sb 对 macOS 原生的 sandbox-exec 进行封装,提供规则集和精细权限控制,让 AI 编程助手以最小权限原则执行命令。

快速上手

请添加图片描述

禁止访问敏感目录

# 禁止 claude 访问 SSH 密钥、Library 等
x mac sb -9 -d "$HOME/.ssh" -d "$HOME/Library" claude

请添加图片描述

防止 AI 误删仓库历史

# 禁止 claude 写入 ~/project/.git 目录,防止误删仓库历史
x mac sb -9 -d w:~/project/.git claude

最小权限运行脚本

# 仅允许读取 ~/project 目录
x mac sb -0 -a r:~/project -a x:/bin/bash bash ~/project/script.sh

# 禁用网络访问权限
x mac sb -9 --no-net curl --head https://x-cmd.com

为什么需要沙盒?

AI 编程助手面临两大风险:

  1. AI 幻觉或被毒害:执行 rm -rf / 类的错误命令,或被提示词注入操纵
  2. 恶意脚本:偷偷上传用户数据、读取 SSH 密钥、云凭证

x mac sb 通过 sandbox-exec 机制建立安全边界,即使出现问题也能控制在最小范围。

案例场景

案例 1:禁止访问敏感目录

场景:ClaudeCode 在执行任务时,可能会尝试访问用户的 SSH 密钥、云凭证等敏感数据。

解决:禁止访问敏感目录

x mac sb -9 -d "$HOME/.ssh" -d "$HOME/.aws" -d "$HOME/.kube" claude

这样 ClaudeCode 可以正常读写项目文件,但无法访问 SSH 密钥和云凭证。

案例 2:禁止删除重要文件

场景:用户让 ClaudeCode 清理项目,AI 错误地准备删除 .git 目录。

解决:禁止删除特定目录

x mac sb -9 -d w:~/project/.git claude

此时 AI 即使执行 rm -rf .git 也会失败,不会丢失版本历史。

FAQ

Q: 运行 ClaudeCode 时,完全禁止网络会影响正常使用吗?

会的。ClaudeCode 需要网络连接来与后端通信。如果完全禁用网络,AI 将无法工作。

建议采用黑名单模式:使用 -9 默认允许所有,然后仅禁止敏感目录:

x mac sb -9 -d "$HOME/.ssh" -d "$HOME/.aws" claude

Q: 如何防止 AI 执行破坏性的写操作?

使用 -d w:目录 禁止写入特定目录。例如只允许在项目目录读取,禁止写入:

x mac sb -9 -d w:~/project claude

Q: 规则集 -9 和 -0 有什么区别?

  • -9:默认允许所有,用 -d 逐个禁止(黑名单模式,适合大多数场景)
  • -0:默认拒绝所有,用 -a 逐个授权(白名单模式,适合高安全要求)

Q: 可以同时使用规则集和权限选项吗?

可以。规则集提供基础权限,权限选项在此基础上调整。例如:

x mac sb -3 -a ~ bash -c 'ls ~'

规则集 -3 提供基础权限,-a ~ 额外授权 home 目录。

Q: 调试时如何查看生成的沙盒配置?

使用 --dryrun 仅打印配置不执行,或 --pp 打印完整策略:

x mac sb --dryrun -9 -d "$HOME/.ssh" claude
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐