destructive_command_guard: 一个防止 AI 编程代理执行破坏性命令的高性能安全钩子

destructive_command_guard: 一个防止 AI 编程代理执行破坏性命令的高性能安全钩子

它解决了什么问题

AI 编程代理(例如 Claude Code, Cursor, 和 GitHub Copilot)偶尔会执行灾难性的命令——例如 rm -rf ./srcDROP TABLE users——这些命令会在几秒钟内摧毁未提交的工作或生产数据。dcg 提供了一个安全层,在这些破坏性命令被执行之前拦截它们。

工作原理

它作为一个高性能钩子,拦截来自 AI 代理的命令。它使用 SIMD 加速过滤和双正则引擎来扫描命令,包括嵌入在 heredocs 或内联脚本中的命令(例如 python -c "os.remove(...)")。该工具会对上下文进行分类,以避免在拦截实际执行的同时,误拦截安全的数据操作(例如 grep "rm -rf")。它采用故障开放(fail-open)设计,确保超时或解析错误不会阻碍用户的流程。

适用人群

使用 AI 编程代理并希望防止由代理生成的 shell 命令导致意外数据丢失或系统破坏的开发者。

亮点

  • 广泛的代理支持:兼容 Claude Code, Codex CLI, Gemini CLI, Copilot, Cursor, Hermes Agent, Grok 等。
  • 丰富的安全包:超过 50 个模块化安全包,涵盖数据库 (PostgreSQL, MongoDB), 云提供商 (AWS, GCP, Azure), 容器 (Docker, Kubernetes) 以及基础设施 (Terraform, Pulumi)。
  • 亚毫秒级延迟:高性能 Rust 实现确保该安全钩子不会降低代理的响应时间。
  • 智能上下文检测:能够区分正在执行的命令与作为数据被提及的命令。
  • 灵活的绕过方式:提供多种允许命令的方式,包括环境变量 (DCG_BYPASS=1)、一次性允许码和永久白名单。
  • CI 集成:包含用于 pre-commit hooks 和 CI 流水线的扫描模式,以便在代码审查期间捕获危险命令。

Sources