📌 项目地址:Dicklesworthstone/destructive_command_guard | ⭐ 2,630 颗星 | 🔧 Rust | 📜 未标注
为什么需要 dcg?
使用 Claude Code、Codex CLI、Cursor 等 AI 编码代理时,代理有时会“自主”执行破坏性命令——比如 rm -rf、git reset --hard、vssadmin delete shadows。一次误操作就能毁掉数小时的工作。传统方案要么是手动审查每个命令,要么依赖 Agent 自身的自律,但都不够可靠。dcg(Destructive Command Guard)正是填补这个空白的工具:它作为高性能 hook 插入代理的命令执行链路,在危险命令真正执行前将其拦截。
一分钟快速安装
dcg 用 Rust 编写,提供跨平台二进制。安装方式针对不同平台做了优化:
Linux / macOS / Windows (WSL)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?$(date +%s)" | bash -s -- --easy-mode
该命令自动检测平台、下载正确二进制、并为所有支持的代理配置 hook(包括 Claude Code、Codex CLI、Gemini CLI、GitHub Copilot CLI、Cursor IDE 等)。
Windows (原生 PowerShell)
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.ps1"))) -EasyMode -Verify
安装 dcg.exe,验证 SHA256 校验和(如果本地有 cosign 还会验证签名),加入用户 PATH,运行自检,并自动配置检测到的代理 hook。Windows 下默认启用 windows.filesystem 和 windows.system 规则包,开箱即能拦截 del /s、rd /s、Remove-Item -Recurse -Force、format 和 vssadmin delete shadows 等命令。
安装后无需额外配置,每次代理执行命令时 dcg 会自动生效。
支持哪些 AI 编码代理?
官方明确支持的代理列表:
- Claude Code(原生 hook)
- Codex CLI 0.125.0+(OpenAI)
- Gemini CLI(Google)
- GitHub Copilot CLI(通过用户级 hooks)
- VS Code Copilot Chat(通过 VS Code 的 Claude-hook 兼容层)
- Cursor IDE(原生)
- Hermes Agent(Nous Research)
- Grok (xAI)(原生
~/.grok/hooks/或 Claude 兼容层) - Antigravity CLI (
agy)(通过dcg install --agy) - OpenCode(社区插件)
- Pi(社区扩展 recipe)
- Aider(仅 git hooks,限制较多)
- Continue(仅检测)
你不必逐个手动配置:install.sh 或 install.ps1 会扫描常见代理路径并自动设置。如果未来有新代理出现,只需重新运行安装脚本即可。
工作原理:hook 拦截 + 规则匹配
dcg 本质上是一个轻量级守护进程或脚本(取决于模式),通过各代理支持的 hook 机制插入命令执行流程。当代理准备执行一个 shell 命令时,dcg 会:
- 解析命令(包括管道、参数扩展等),检测是否包含已知的危险操作。
- 匹配规则——默认规则包覆盖了常见的破坏性命令,例如
rm -rf、git push --force、drop table、shutdown等(规则列表可在项目文档中查看)。 - 决定放行或阻止:阻止时输出告警信息,并可选记录到日志。
你可以通过配置文件自定义白名单(允许特定命令绕过检查)或添加自定义危险命令。具体配置方法参考官方文档 Configuration。
与其他安全方案的差异
- vs. 传统 shell 审计/限制工具(如
restricted shell、bash -r):
那些工具限制的是整个 shell 环境,而 dcg 只针对 AI 代理的调用链,不干扰开发者的正常工作流。 - vs. 手动审查模式(如每次命令都弹确认对话框):
对于高频代理 CLI(如 Claude Code 自动生成命令),手动确认会打断效率;dcg 用规则自动阻断,无需每次判断。 - vs. 纯 Python 钩子:
Rust 实现带来了极低的延迟和跨平台二进制分发,安装脚本仅需几秒。
注意事项
- 不保证 100% 安全:dcg 通过模式匹配拦截已知危险命令,但不可能覆盖所有恶意变种(如编码混淆后的命令)。它是一道防线,不是万能盾牌。
- 仅在 AI 代理的 hook 范围内生效:手动在终端执行
rm -rf /不会被拦截——请确保你自己的身体也安装了“安全意识” hook。 - 支持定制规则,但默认规则已经相当全面。如果你需要放宽限制(例如运行测试脚本时删除临时目录),可以通过
dcg allow或编辑配置文件允许特定命令。 - 许可证 MIT,可自由使用、修改、商用。
dcg 的核心价值非常明确:让开发者安心将命令执行权交给 AI 代理,而不用担心“删库跑路”的意外发生。安装只需一行命令,支持主流代理,性能和覆盖面都经过了实战检验。如果你正在重度使用 AI 编码助手,这是一个值得加入工具箱的小工具。