Repolode
nikvdp

nikvdp/cco

为 Claude Code 等 AI 编程代理提供沙箱隔离,在原生沙箱或 Docker 中免确认运行,保护本机文件安全。

Star
429
Fork
32
未关闭 Issue
2
最近提交
26天前

这是什么?

cco 是一个轻量命令行包装工具,让 Claude Code 在沙箱中运行,从而免去频繁的权限确认,同时限制它能访问的本机范围。它会自动选择可用的后端:macOS 上使用 sandbox-exec,Linux 上使用 bubblewrap,否则回退到 Docker。原生模式默认以只读方式暴露宿主机文件系统,Docker 模式则只能看到显式挂载的路径。

它主要应对的是在关闭权限检查时运行 Claude Code 可能遭遇的提示注入风险。项目目录、Claude 状态目录和 git worktree 元数据保持可写,凭据在运行时挂载而非写入镜像。--safe、--deny-path、--allow-readonly、--add-dir 等参数可以收紧或放宽访问范围。网络访问不受限制,因此它侧重文件系统与凭据隔离,而非网络控制。

除 Claude Code 外,cco 还可以封装 OpenAI Codex CLI、OpenCode、Pi 以及 factory.ai 的 droid;通过 --command 参数,也能在同样的沙箱中运行任意命令行工具。

核心功能

  • 01根据环境自动选择 sandbox-exec、bubblewrap 或 Docker 作为沙箱后端。
  • 02原生模式下宿主机文件系统只读,仅项目目录可写。
  • 03Docker 模式只挂载明确指定的路径。
  • 04支持 git worktree,并可读取 macOS 钥匙串中的 Claude 凭据。
  • 05提供 --safe、--deny-path、--allow-readonly 等参数控制路径访问。
  • 06一条命令即可封装 Claude Code、Codex、OpenCode 等代理 CLI。

适用场景

  • 在笔记本上以免确认模式运行 Claude Code,同时避免暴露 SSH 密钥和无关的主目录文件。
  • 让 AI 代理在隔离环境中运行测试或构建。
  • 借助 --command 参数,把任意命令行工具放入沙箱运行。
  • 使用持久化 Docker 容器,在多次会话之间保留已安装的工具。

快速上手

  1. 1

    运行 README 中的官方安装脚本

  2. 2

    在项目目录中用 cco 代替 claude 运行

    cco "write a hello world script"

使用前须知

  • 原生沙箱默认将整个主机文件系统以只读方式暴露;如需更强隔离可使用 --safe,但该功能处于实验阶段。
  • 部分选项(如 --docker-socket)会削弱甚至破坏隔离效果,并被标记为实验性功能。

收录于专题

标签

常见问题

cco 是什么?
为 Claude Code 等 AI 编程代理提供沙箱隔离,在原生沙箱或 Docker 中免确认运行,保护本机文件安全。 cco 是一个轻量命令行包装工具,让 Claude Code 在沙箱中运行,从而免去频繁的权限确认,同时限制它能访问的本机范围。它会自动选择可用的后端:macOS 上使用 sandbox-exec,Linux 上使用 bubblewrap,否则回退到 Docker。原生模式默认以只读方式暴露宿主机文件系统,Docker 模式则只能看到显式挂载的路径。
cco 可以免费使用吗?用的什么许可证?
cco 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
cco 还在维护吗?
活跃维护中。cco 最近一次提交是在 2026年9月29日。
cco 适合用来做什么?
在笔记本上以免确认模式运行 Claude Code,同时避免暴露 SSH 密钥和无关的主目录文件。 让 AI 代理在隔离环境中运行测试或构建。 借助 --command 参数,把任意命令行工具放入沙箱运行。 使用持久化 Docker 容器,在多次会话之间保留已安装的工具。
cco 怎么安装和运行?
运行 README 中的官方安装脚本 在项目目录中用 cco 代替 claude 运行: cco "write a hello world script"
在哪里获取 cco?
源代码和安装说明在 GitHub 上:https://github.com/nikvdp/cco

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目