ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

安全实践:codex-plugin-cc只读沙箱与审批策略详解

安全实践:codex-plugin-cc只读沙箱与审批策略详解 安全实践codex-plugin-cc只读沙箱与审批策略详解【免费下载链接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cccodex-plugin-cc是一个让 Claude Code 用户直接在现有工作流中调用 Codex 的开源插件一条/codex:review命令即可让 Codex 做只读代码审查/codex:rescue则能把调试、修复等任务委托给 Codex 后台执行。很多新手担心把代码交给 AI 会不会乱改文件——这个插件的核心安全设计正是围绕只读沙箱与审批策略展开的。本文带你逐层看懂它的 4 道防线全部基于仓库真实源码新手也能轻松上手。为什么AI 动手前先划边界很重要 ️让 AI 代理在你的仓库里跑起来本质上等于给了它两把钥匙改文件的钥匙增删改源码跑命令的钥匙执行任意 shell 命令codex-plugin-cc 的做法是把钥匙分级管理审查类命令一律只读写操作必须你明确授权。整个安全模型分为三层防线防线机制作用第一层沙箱模式sandbox物理上限制 Codex 能否写文件第二层审批策略approvalPolicy控制 Codex 执行危险操作时是否需要确认第三层命令级工具白名单限制 Claude 侧可调用的工具范围只读沙箱默认「只看不改」沙箱默认值写死在源码里插件在创建每一个 Codex 线程时都会显式声明沙箱模式。核心逻辑在 buildThreadParamsapprovalPolicy: options.approvalPolicy ?? never, sandbox: options.sandbox ?? read-only,注意?? read-only这个兜底——即使调用方什么都不传沙箱也默认是只读的。恢复旧线程时的 buildResumeParams 同样如此。不同命令的沙箱档位命令沙箱模式说明/codex:reviewread-onlyrunAppServerReview 中硬编码为只读无法被参数改变/codex:adversarial-reviewread-onlyexecuteReviewRun 中固定只读/codex:rescue任务委托read-only或workspace-write由是否传入--write决定任务命令的沙箱切换只有一处入口见 executeTaskRunsandbox: request.write ? workspace-write : read-only,也就是说写权限不是默认值而是一个需要显式开启的开关。即使开启写模式写入也被限制在工作区workspace范围内而不是整台机器。网络访问同样被关小黑屋 沙箱描述符中网络是被禁用的测试固件里对协议的模拟可以印证这一点sandbox: { type: readOnly, networkAccess: false }见 fake-codex-fixture.mjs。这意味着审查阶段 Codex 既不能改文件也不能借机向外传数据。审批策略never不是不管而是沙箱兜底approvalPolicy: never初看像是从不审批容易让人担心。它的真正含义是既然沙箱已经物理性地禁止了写操作就不需要再弹审批框打断你。这是最小惊讶设计——安全靠的是能力边界能不能做而不是事后拦截做了再问。两层配合只读场景沙箱禁止写入 → 无需审批 →never合理写场景你显式传--write才进入workspace-write→ 边界从整个系统收缩到当前工作区命令级工具白名单最小权限原则 插件给每个斜杠命令都配了独立的最小工具清单。以审查命令为例review.md 的头部声明disable-model-invocation: true allowed-tools: Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion这行配置透露了 3 个安全细节disable-model-invocation: trueClaude 的模型不能自动触发审查命令必须你亲手输入——审查永远由人发起Bash 前缀限定只放行node:*和git:*其它 shell 命令被白名单挡在外面提示词级约束命令文档进一步规定只审查、不修复、不打补丁见 review.md 的 Core constraint 一节。即便是承担实际工作的 codex-rescue 子代理也被设计成薄转发器它只负责把你的请求原样转发给 Codex 运行时自己不读文件、不 grep、不监控进度杜绝了子代理越权操作的可能。审查上下文中的 git 信息也明确要求模型用只读 git 命令自行检查目标 diff见 git.mjs。审查门Review Gate可选的出站审批 前三层防线管的是Codex 进来能做什么而审查门管的是结果出去前是否达标。它通过 hooks.json 中注册的Stop钩子实现当你让 Claude 尝试结束本轮工作时stop-review-gate-hook.mjs 会拦截这次停止触发一次针对 Claude 最近回复的定向 Codex 审查。审查结果采用严格的ALLOW:/BLOCK:协议见 parseStopReviewOutputALLOW:→ 放行Claude 正常结束BLOCK: 原因→ 阻止结束Claude 必须先修复问题开启和关闭只需一条命令/codex:setup --enable-review-gate /codex:setup --disable-review-gate⚠️官方提示审查门可能形成 Claude/Codex 的长循环快速消耗用量额度。只在你能实时盯守会话时才建议开启参见 README 中的 WARNING。新手安全使用清单 ✅审查走/codex:review天然只读、不产生任何变更放心跑委托任务前想清楚/codex:rescue是写任务入口默认会附带--write进入工作区写模式见 codex-rescue.md只想诊断/调研时请在指令中明确要求只读长任务放后台加--background随后用/codex:status看进度、/codex:cancel随时叫停改动结果可复核写任务会记录touchedFiles触碰过的文件清单见 executeTaskRun方便你 git 复核环境自检运行/codex:setup确认 Codex 已安装并登录认证始终复用你本地 Codex CLI 的登录态插件不额外持有密钥小结一张图看懂 codex-plugin-cc 的安全模型你发起命令 │ ├─ 审查类 ──────► sandbox: read-only ──► 只读无法改文件 │ └─ 任务类 ──┬── 无 --write ──► sandbox: read-only └── 有 --write ──► sandbox: workspace-write仅限工作区 │ Stop 钩子审查门可选 ALLOW 放行 / BLOCK 阻止结束codex-plugin-cc 的安全思路可以概括为一句话默认给 AI 一把只能看的钥匙要写就交钥匙出门还要过一道门。对新手来说理解这套沙箱定边界、审批管出站的分层设计比记住任何单条命令都更有价值——它也是所有 AI 编码工具值得借鉴的安全范式。【免费下载链接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表