📌 项目地址Dicklesworthstone/destructive_command_guard | ⭐ 2,630 颗星 | 🔧 Rust | 📜 未标注

为什么需要 dcg?

使用 Claude Code、Codex CLI、Cursor 等 AI 编码代理时,代理有时会“自主”执行破坏性命令——比如 rm -rfgit reset --hardvssadmin 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.filesystemwindows.system 规则包,开箱即能拦截 del /srd /sRemove-Item -Recurse -Forceformatvssadmin 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.shinstall.ps1 会扫描常见代理路径并自动设置。如果未来有新代理出现,只需重新运行安装脚本即可。

工作原理:hook 拦截 + 规则匹配

dcg 本质上是一个轻量级守护进程或脚本(取决于模式),通过各代理支持的 hook 机制插入命令执行流程。当代理准备执行一个 shell 命令时,dcg 会:

  1. 解析命令(包括管道、参数扩展等),检测是否包含已知的危险操作。
  2. 匹配规则——默认规则包覆盖了常见的破坏性命令,例如 rm -rfgit push --forcedrop tableshutdown 等(规则列表可在项目文档中查看)。
  3. 决定放行或阻止:阻止时输出告警信息,并可选记录到日志。

你可以通过配置文件自定义白名单(允许特定命令绕过检查)或添加自定义危险命令。具体配置方法参考官方文档 Configuration

与其他安全方案的差异

  • vs. 传统 shell 审计/限制工具(如 restricted shellbash -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 编码助手,这是一个值得加入工具箱的小工具。

这篇文章对你有帮助吗?

发表回复