DCG Guard 综合评估
核心用法
DCG Guard 是一款面向 OpenClaw 生态的安全插件,利用 before_tool_call 事件钩子,在 exec/bash 工具调用执行前进行拦截。它将待执行命令通过 stdin 管道传递给 DCG(Dangerous Command Guard)二进制进行静态分析,安全命令静默放行,危险命令在触发前即被阻断。
阻断典型场景:
- 文件系统:
rm -rf ~,rm -rf /递归强制删除 - Git 操作:
git push --force,git reset --hard,git clean -fd,git branch -D等不可逆操作 - 其他破坏性命令经 DCG 规则库识别
显著优点
1. 零噪音设计:安全命令无任何感知延迟或日志干扰,用户体验无缝
2. 低延迟:单次检测约 27ms,不影响 Agent 工作流
3. Fail-open 架构:DCG 二进制缺失或崩溃时自动放行,避免单点故障导致系统死锁
4. 无注入风险:使用 execFileSync 直接传参 stdin,拒绝 shell 插值
5. 零依赖:仅依赖单一 Go 编译二进制,无运行时库负担
潜在缺点与局限性
- 覆盖范围受限:仅防护 OpenClaw 触发的
exec/bash调用,无法拦截 Agent 通过其他方式(如代码内嵌、远程 API)执行的命令 - 规则静态性:依赖 DCG 预定义规则库,新型危险命令模式需等待上游更新
- 二进制信任链:需从 GitHub 安装 DCG,存在供应链验证责任
- 无上下文感知:无法判断命令是否在安全沙箱或备份环境中执行,可能误伤合法脚本
适合人群
- 使用 OpenClaw 编排 AI Agent 的开发者团队
- 运行自动化运维脚本的生产环境(CI/CD、服务器管理)
- 对「不可逆操作」有强合规要求的金融、SaaS 企业
常规风险
- 供应链攻击:install.sh 或 DCG 二进制被篡改可导致防护失效或植入后门
- 绕过可能:Agent 可能通过编码、base64、动态生成命令等方式规避静态检测
- 过度依赖:用户可能因「有 Guard」而放松代码审查,形成安全错觉