Destructive Command Guard(dcg)是 Dicklesworthstone 维护的 Rust hook,在 AI 编码代理执行 shell 命令之前做规则匹配,拦截可能删除文件、改写 Git 历史、破坏数据库或基础设施的命令。
来源:github.com/Dicklesworthstone/destructive_command_guard 查看 GitHub 仓库 → 📘 使用教程 →旧稿只写了‘零配置保护’,没有说明默认只启用哪些 pack、失败时是否放行、Codex 最低版本和绕过方式;这些配置直接决定保护是否成立。
来源:github.com/Dicklesworthstone/destructive_command_guard/releases/tag/v…dcg 接收代理 hook 的命令数据,分类真实执行上下文,再返回允许、询问或拒绝结果;Codex CLI 0.125.0+ 有专门输出格式。
来源:github.com/Dicklesworthstone/destructive_command_guard项目提供 50 多个 pack,覆盖文件系统、Git、数据库、容器、Kubernetes、云和 Terraform;无配置时只启用 core.filesystem、core.git 与 system.disk。
来源:github.com/Dicklesworthstone/destructive_command_guard三层扫描流程可抽取 heredoc,以及 python -c、bash -c 等内联载荷,再把内部命令交回全部规则包检查。
来源:github.com/Dicklesworthstone/destructive_command_guard规则可设置 deny、warn、ask 或 log;dcg explain 显示最终解析出的策略,dcg scan 可检查仓库中的可执行上下文并输出真正的 SARIF。
来源:github.com/Dicklesworthstone/destructive_command_guarddcg 由 agent hook 接收 JSON,先辨认宿主与命令字段,再用快速过滤、上下文分类和规则引擎检查外层命令及 heredoc/inline payload。规则按 pack 分组,策略层把命中转换为 deny、warn、ask 或 log。它只看准备执行的命令文本与上下文,不理解整个程序的业务语义。
来源:github.com/Dicklesworthstone/destructive_command_guardCodex CLI 0.125.0+,或其他受支持代理预编译 Linux、macOS、Windows 二进制源码构建需要 Rust 1.95+ 或仓库固定的 nightly-202…适合给 Codex、Claude Code、Gemini CLI 等代理增加命令级第二道检查,尤其是含未提交修改或可访问生产工具的环境。无人值守任务应把 unverified_decision 设为 deny,并评估 general.fail_closed;同时保留 Git 提交、备份、最小权限和代理自身沙箱。
来源:github.com/Dicklesworthstone/destructive_command_guard截至 2026-09-23,最新版本是 v0.14.4,发布于 2026-09-16。该版修复 SQL 关键字作为文件名、POSIX --、已证明安全的临时变量、bun/deno 内联载荷、带连字符 Git 可执行名和重复 hook key 等误判,并让 dcg explain 报告最终策略模式。
来源:github.com/Dicklesworthstone/destructive_command_guard/releases/tag/v…status: docs-only | checked_at: 2026-09-23 | environment: 只核对官方 README、LICENSE、Codex 集成说明与 v0.14.4 release | limitations: 未下载安装 dcg,未修改本机 hook,未执行阻断测试、dcg scan、dcg explain、绕过或 fail-closed 测试 | observed_output: 官方最新版本为 v0.14.4,发布于 2026-09-16;Codex 支持要求 0.125.0+;README 明确畸形原始 hook JSON 默认允许并记录审计警告
来源:github.com/Dicklesworthstone/destructive_command_guard/releases/tag/v…Codex 自身的 sandbox 与 approval policy 在进程层限制文件系统和网络,并决定何时需要批准;dcg 在命令执行前按具体危险模式和规则包做判断,还能覆盖多个代理。两者检查层次不同:沙箱负责权限边界,dcg 负责识别高风险命令形状,实际使用应叠加而不是互相替代。
来源:developers.openai.com/codex/securitydcg 可以补上编码代理的命令模式检查,但安装完成不等于保护完成。上线前必须核对 hook 绝对路径、实际启用的 pack、fail-open 与 unverified 策略,并在隔离环境验证允许和拒绝两条路径。
来源:github.com/Dicklesworthstone/destructive_command_guard仍有可能。它可被 bypass、allow-once、allowlist 或删除 hook 绕过,也可能存在未覆盖模式或配置错误。
代理 hook 的 PATH 可能与终端不同。绝对路径可避免找不到二进制后保护失效。
不会。原始 hook JSON 无法解析时默认 fail-open;可显式启用 general.fail_closed=true。
不是。其许可标题和正文包含 OpenAI/Anthropic Rider,采用前需要阅读完整限制。