发现
命令行工具开发者工具
cplt:AI 编程代理沙箱
用内核级隔离把 Copilot CLI、Claude Code 等 AI 编程代理关进沙箱,防止其窃取凭据或改动主干。
- 浏览
- 11
- 访问
- 0
- 下载
- 0
- 版本
- v2026.10.31-194043-5a954b6
- 平台
- macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。
详细介绍
项目简介
cplt 是一个为 AI 编程代理提供内核级强制隔离的沙箱工具。它包裹 GitHub Copilot CLI、OpenCode、Gemini CLI、Antigravity CLI、Pi、Claude Code、goose、DeepSeek Harness 或任意 shell,让代理可以写代码,但无法窃取凭据、推送到 main、合并 PR 或外泄密钥。
隔离由操作系统内核执行,不依赖 Docker 或虚拟机,只有一个二进制文件,可直接在受管控的笔记本上运行。

主要功能
- 平台级沙箱后端:macOS 使用 Apple Seatbelt/SBPL(通过
sandbox-exec);Linux 使用 Landlock LSM + seccomp-BPF,可选 Bubblewrap 命名空间隔离(内核 5.13+,6.7+ 支持完整网络过滤)。 - 策略随仓库走:每个仓库的
.cplt.toml策略提交进版本库,可审计、不易被篡改;首次运行需开发者确认信任。 - 默认拒绝敏感资源:
~/.ssh、~/.gnupg、~/.aws、~/.azure、~/.kube、~/.docker、~/.netrc、~/.pypirc、~/.vault-token、~/.config/gcloud等默认在内核层被拦截;项目内的.env*、.pem、.key、id_rsa也默认禁止读写删除。 - git / gh 命令拦截:阻止推送到默认分支、强制推送、合并、发布,feature 分支保持可用;默认两者均为阻断模式,可切换为 warn 观察模式。
- 出站网络过滤:默认只放行 443 端口,其余端口阻断,可配合
--with-proxy做域名过滤与审计日志。 - 防持久化与写后执行:阻止写入
.git/hooks、.git/config、~/.copilot/pkg,阻止从/tmp、/var/folders、~/Library/Caches执行程序,阻止篡改 PATH 上的全局 bin/shim 目录。 - 环境变量清理:仅放行安全白名单变量,生命周期脚本被阻止,可用
--pass-env单独放行。
安装与使用
macOS 可用 Homebrew,也可用 mise,或从 release 下载对应平台压缩包:
brew install navikt/tap/cplt
mise use -g 'github:navikt/[email protected]'
Debian / Ubuntu 可安装 release 中的 .deb 包。
快速开始:
cplt --shell-install # 让 copilot 默认在沙箱中运行
cplt doctor # 检查环境
cplt -- -p "fix the tests" # 在沙箱里运行 Copilot
切换代理或直接沙箱化命令:
cplt --agent opencode
cplt --agent shell
cplt exec -- npm install
团队落地:
cplt init --write
cplt trust accept --all
cplt config set git_guard.mode warn
注意事项
- Windows 无原生支持:没有 Windows 沙箱后端,需在 WSL2 中运行,此时等同于普通 Linux 安装。
- 部分操作被有意阻断:沙箱内无法执行
bun install -g、deno install、pnpm add -g、mise install等全局工具安装;提交与标签签名默认关闭;~/.npmrc默认不可读。可用--allow-read、--allow-env-files、--allow-port、--allow-cache-exec等开关按需放开。 - Linux 保护弱于 macOS:Landlock 无法拒绝已允许目录内的子路径,
.git/config、.gitmodules、localhost 访问、SSH agent 等场景存在限制,详见官方安全文档。 - 已知风险:
.vscode/tasks.json与launch.json默认可修改,属于 IDE 信任边界。 - 采用 MIT 许可证。
本作品整理自 GitHub 开源项目 navikt/cplt,原作者 @navikt,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v2026.10.31-194043-5a954b6当前版本
cplt 2026.10.31-194043-5a954b6
- v2026.10.31-181434-5e06c82
cplt 2026.10.31-181434-5e06c82
- v2026.10.30-110556-eab7fb6
新增 `config unset` 命令;修复沙箱内 pnpm 的处理,包括遮蔽全局 pnpm 二进制、解析相对的 cmd-shim 目标;修复发布流程被跳过任务取消的问题。
评论