发现 AI 代理的未来

dcg (Destructive Command Guard)

收录于 2026年5月4日
智能体与应用工具
开源
RustAI代理CLI智能体与应用工具开发者工具/代码安全/隐私

面向 AI 编程代理的高性能命令拦截钩子,在危险命令执行前予以阻断,保护工作目录与基础设施不被意外摧毁。

核心定位#

dcg 解决的核心问题是:Claude Code、Codex CLI、Gemini CLI 等 AI 编码代理在自主执行 shell 命令时,可能误触发 rm -rfgit reset --hardDROP TABLEkubectl delete namespace 等不可逆的毁灭性操作。项目以 Pre-Tool-Use Hook 的形式嵌入各 AI 代理的执行链路,在命令实际到达 shell 之前完成拦截与决策。

能力边界:dcg 不替代沙箱或权限隔离机制,而是在命令发出后、执行前的最后一道防线。它覆盖 git 文件系统操作、数据库、容器编排、云资源、CI/CD 等超过 50 个安全规则包,并能通过三层扫描流水线检测 heredoc 和内联脚本中隐藏的危险命令。对于超时或解析失败的场景,默认 Fail-Open 放行以保证工作流不被阻塞。

命令拦截与检测能力#

  • 零配置防护:开箱即用,无需额外配置即可拦截危险 git / 文件系统命令
  • 50+ 安全规则包(Security Packs):覆盖 database(PostgreSQL 等)、kubernetes、docker、AWS/GCP/Azure、Terraform、备份工具、消息队列、监控、支付、搜索引擎、CI/CD 等领域
  • 三层扫描流水线:Tier 1 Trigger(<100μs, RegexSet)→ Tier 2 Extract(<1ms, 内容提取)→ Tier 3 AST(<5ms, 语法树匹配)
  • Heredoc / 内联脚本扫描:可检测 python -c "os.remove(...)" 及嵌入式 shell 脚本中的危险操作
  • 递归 Shell 分析:对提取到的 bash 内容递归进入完整评估流水线
  • 智能上下文检测:区分数据上下文(如 grep "rm -rf")与执行上下文(如 rm -rf /

性能与可靠性#

  • 亚毫秒级延迟:SIMD 加速快速路径过滤,hook 几乎无感
  • 双正则引擎 + RegexSet:O(n) 批量匹配,lazy-compiled 惰性编译
  • Fail-Open 设计:超时、解析错误时默认放行,不阻塞工作流(可配置为严格模式)
  • 可配置超时:通过 DCG_HOOK_TIMEOUT_MS 控制 hook 超时预算(默认 200ms)

AI 代理适配#

  • 多代理支持:Claude Code、Codex CLI (0.125.0+)、Gemini CLI、GitHub Copilot CLI、Cursor IDE、OpenCode、Aider(有限)、Continue(检测)
  • 代理专用 Profile:按代理类型(trust_level)配置不同 allowlist / pack 策略
  • Agent 协议适配:自动检测各代理 hook payload 格式差异(如 Codex 的 turn_id 字段、exit code 2 协议)

运维与工作流特性#

  • Allow-Once 临时放行:生成短码,24 小时内或一次性放行被阻断的命令
  • Rebase Recovery Mode:自动检测 rebase 进行状态,临时放行 git checkout -- . 等恢复操作
  • Explain 模式:详细展示命令为何被阻断/放行的完整决策链路
  • 仓库扫描模式dcg scan 理解文件结构(Dockerfile、GitHub Actions、Makefile 等),从代码中提取可执行命令并评估
  • pre-commit 集成dcg scan install-pre-commit 一键安装

配置体系#

  • 分层配置:系统级(/etc/dcg/config.toml)→ 用户级(~/.config/dcg/config.toml)→ 项目级(.dcg.toml)→ 环境变量(DCG_*),逐层覆盖
  • 自定义 Pack:支持通过 YAML 创建组织专属规则包
  • 全局决策模式DCG_POLICY_DEFAULT_MODE 可设为 deny / warn / log

架构与实现要点#

使用 Rust Edition 2024(需 nightly 工具链),原始实现为 Python 已被完全取代。核心扫描流水线三层架构逐层深入,仅在上一层命中时才进入下一层,保证常见安全命令的极低延迟。提取到的 bash 内容会递归回到完整流水线重新评估。模块化 Pack 系统将规则按分类组织(core / database / kubernetes / cloud / containers 等),用户可通过 YAML 格式创建自定义 pack。仓库含 fuzz/ 目录(模糊测试)、benches/perf/baselines/(性能基准)、action/ 目录(疑似 GitHub Action 集成,细节待确认)。

安装与快速开始#

快速安装(推荐):

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?$(date +%s)" | bash -s -- --easy-mode

Easy Mode 自动检测平台、下载预编译二进制、配置所有支持的 AI 代理钩子。

从源码构建(需 Rust nightly):

git clone https://github.com/Dicklesworthstone/destructive_command_guard
cd destructive_command_guard
cargo build --release
cp target/release/dcg ~/.local/bin/

支持平台:Linux (x86_64 / ARM64)、macOS (Intel / Apple Silicon)、Windows (WSL)

CLI 常用命令#

dcg test "rm -rf ./build"          # 测试命令是否被阻断
dcg explain "git reset --hard"     # 查看阻断原因与完整决策链路
dcg allowlist add core.git:reset-hard -r "reason"  # 永久放行特定命令
dcg allow-once <code>              # 使用短码临时放行
dcg scan --staged                  # 扫描暂存文件中的危险命令
dcg scan install-pre-commit        # 安装 pre-commit hook
dcg update                         # 更新 dcg

关键环境变量#

变量作用
DCG_BYPASS=1单次命令绕过所有保护
DCG_PACKS逗号分隔启用 pack
DCG_DISABLE逗号分隔禁用 pack
DCG_VERBOSE日志详细级别 0-3
DCG_CONFIG指定配置文件路径
DCG_POLICY_DEFAULT_MODE全局默认决策模式 (deny/warn/log)
DCG_HOOK_TIMEOUT_MShook 超时预算(默认 200ms)

待确认信息#

  • 开源许可证类型:仓库含 LICENSE 文件但 README 未标注具体类型
  • 最新发布版本号:README 提及 v0.5.0、v0.2.7 等历史版本,当前最新需查看 Releases 页
  • 独立官网/文档站:文档以仓库内 docs/ 目录形式维护,未见外部文档站
  • GitHub Action 集成详情:仓库含 action/ 目录,具体用法待确认
  • Windows 原生支持:当前仅支持 WSL,原生支持计划待确认
  • Aider / Continue 的具体支持程度:标注为"有限"和"检测"级,功能边界待确认

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。