# Codex 任务安全检查清单

核验日期：2026-07-16

## 任务开始前

- [ ] 确认当前目录、Git 分支和未提交改动。
- [ ] 确认仓库来源可信；陌生仓库先用 `read-only`。
- [ ] 阅读适用的 `AGENTS.md`，尤其是安全、权限和验证要求。
- [ ] 把允许修改路径和禁止修改路径写进任务。
- [ ] 明确是否涉及生产、真实用户数据、支付、密钥或不可逆操作。
- [ ] 高风险事项保持人工决策，不委托自动执行。

## 选择沙箱与审批

- [ ] 只读调查使用 `read-only`。
- [ ] 普通仓库编辑使用 `workspace-write`。
- [ ] 审批默认使用 `on-request`。
- [ ] `approval_policy=never` 只用于失败可见、边界固定的自动化。
- [ ] `danger-full-access` 只在外部隔离的临时环境中使用。
- [ ] 没有把“关闭审批”误写成“移除沙箱”。

## 审批请求出现时

- [ ] 阅读完整命令，不只看 Codex 的一句摘要。
- [ ] 确认工作目录与目标路径。
- [ ] 确认命令是否会修改 Git、系统配置、依赖或外部服务。
- [ ] 网络请求明确目的域和发送内容。
- [ ] 拒绝范围过宽、理由含糊或可用更小权限完成的请求。
- [ ] 对删除、覆盖、重置、强推和递归命令做额外审查。

## 秘密与环境变量

- [ ] 不在提示、代码、配置、日志或截图中粘贴真实秘密。
- [ ] MCP bearer token 只通过环境变量名引用。
- [ ] `.env*`、凭据目录和私钥路径不进入输出或提交。
- [ ] 已经暴露的秘密立即轮换；删除文本不能撤销泄漏。
- [ ] Cloud secret 只用于 setup，不让 agent 阶段依赖其存在。

## 网络与外部内容

- [ ] 子进程网络默认关闭。
- [ ] 只开放任务必需的域和时间窗口。
- [ ] 网页、issue、日志和依赖输出都视为不可信输入。
- [ ] 不执行外部内容要求的权限升级、秘密读取或数据上传。
- [ ] 安装依赖前核对锁文件、来源和生命周期脚本。

## MCP 与 Hooks

- [ ] MCP server 来源、URL 或本地 command 已核验。
- [ ] 使用 `enabled_tools` 或 `disabled_tools` 缩小工具集。
- [ ] 有副作用工具保留 `prompt`、`writes` 或 `approve`。
- [ ] 新增或变更的非托管 hook 已在 `/hooks` 审查和信任。
- [ ] 并发 hooks 不共享易冲突临时文件，也不互相依赖执行顺序。

## 完成前

- [ ] 阅读 `git status` 和完整 diff。
- [ ] 没有新增秘密、调试日志、临时文件或意外二进制。
- [ ] 实际运行相关 lint、类型检查和测试。
- [ ] 报告命令退出状态，不把建议命令写成已通过。
- [ ] 报告没有验证的环境、路径和风险。
- [ ] 生产部署、合并、数据变更仍经过既定人工流程。

## 建议命令

```bash
git status --short
git diff --check
git diff --stat
```

清单不能替代组织安全政策、代码审查、秘密扫描和生产变更控制。

官方来源：

- https://learn.chatgpt.com/docs/agent-approvals-security
- https://learn.chatgpt.com/docs/sandboxing
