Codex 可通过周期性扫描和自定义规则自动发现逻辑缺陷、安全风险与架构隐患。需在项目根目录下创建 .codex/cron.yaml 配置定时任务,并在 .codex/rules/ 下定义 JSON 规则(如 unsafe-sql.json),支持 severity 分级(P0–P3)与多行匹配;支持命令行即时扫描输出 report.json 或高危项文本,还可集成 pre-commit Git Hook 自动拦截 P0 级问题。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让 Codex 在项目迭代过程中自动发现隐藏的逻辑缺陷、安全风险或架构隐患,而不是等上线后靠用户报错才被动响应。
设置周期性扫描任务
在项目根目录下新建 .codex/cron.yaml,内容如下:
```yaml
schedule: "0 2 * * 1" # 每周一凌晨2点执行
tasks:
- name: "检查未处理的 TODO/FIXME"
command: "rg -n 'TODO|FIXME|HACK' --glob='!node_modules/**' ."
- name: "扫描硬编码密钥"
command: "rg -n 'sk-[a-zA-Z0-9_]{32}|AKIA[0-9A-Z]{16}|-----BEGIN RSA PRIVATE KEY-----' --max-count=5 ."
```
这一步必须放在 【.codex/ 目录下】,否则 Codex 启动时不会加载该配置。Codex CLI v0.8.3+ 才支持 cron.yaml 自动调度,旧版本需手动升级。
定义问题识别规则
在 .codex/rules/ 下创建 JSON 规则文件,例如 unsafe-sql.json:
```json
{
"id": "unsafe-sql",
"description": "检测字符串拼接式 SQL 查询",
"pattern": "(cursor|db|conn)\.execute\(.*['"].*\+.*['"].*\)",
"severity": "P1",
"language": ["python", "javascript"]
}
```
规则中的 pattern 是正则表达式,匹配到即触发告警;severity 值为 P0–P3,P0 表示阻断级问题,会强制中断任务流。
注意:正则中不能用 .* 跨行匹配,Codex 的规则引擎默认按行扫描,跨行逻辑需改用多行模式(启用需额外加 "multiline": true 字段)。
执行一次扫描并导出报告
方法一:命令行触发即时扫描
运行:codex scan --rules-dir .codex/rules/ --output report.json
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
生成的 report.json 包含每条问题的文件路径、行号、规则 ID 和上下文代码片段。
方法二:只输出高危项(适合 CI 流水线)
运行:codex scan --severity P0,P1 --format text
这一步会跳过所有 P2/P3 级别问题,终端只显示必须修复的内容,避免干扰流水线判断。
集成到 Git Hook 自动拦截
第一步:在 .git/hooks/pre-commit 中添加:
#!/bin/sh<br>if codex scan --severity P0 --quiet; then<br> exit 0<br>else<br> echo "❌ P0 级问题未修复,禁止提交"<br> exit 1<br>fi
第二步:赋予可执行权限:chmod +x .git/hooks/pre-commit
第三步:确保本地已安装 Codex CLI 并完成登录:codex login
Git 提交时会自动调用扫描,只要存在 P0 级问题(如硬编码密钥、SQL 注入模式),提交立即中止。这个 hook 不检查 P1 及以下问题,避免开发被低优先级警告阻塞。

















