<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>编码代理 on AI</title>
        <link>https://ai.programnotes.cn/tags/%E7%BC%96%E7%A0%81%E4%BB%A3%E7%90%86/</link>
        <description>Recent content in 编码代理 on AI</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai.programnotes.cn/tags/%E7%BC%96%E7%A0%81%E4%BB%A3%E7%90%86/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>dcg — AI 编码代理的毁灭性命令守卫</title>
        <link>https://ai.programnotes.cn/p/dcg-ai-%E7%BC%96%E7%A0%81%E4%BB%A3%E7%90%86%E7%9A%84%E6%AF%81%E7%81%AD%E6%80%A7%E5%91%BD%E4%BB%A4%E5%AE%88%E5%8D%AB/</link>
        <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://ai.programnotes.cn/p/dcg-ai-%E7%BC%96%E7%A0%81%E4%BB%A3%E7%90%86%E7%9A%84%E6%AF%81%E7%81%AD%E6%80%A7%E5%91%BD%E4%BB%A4%E5%AE%88%E5%8D%AB/</guid>
        <description>&lt;img src="https://ai.programnotes.cn/img/ai/AI.png" alt="Featured image of post dcg — AI 编码代理的毁灭性命令守卫" /&gt;&lt;h2 id=&#34;项目简介&#34;&gt;项目简介
&lt;/h2&gt;&lt;p&gt;今天 GitHub Trending 排名第一的项目是 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Dicklesworthstone/destructive_command_guard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dicklesworthstone/destructive_command_guard&lt;/a&gt;（简称 dcg），一个用 Rust 编写的高性能钩子工具，专为 AI 编码代理设计——在它们执行毁灭性命令之前将其拦截并阻止。&lt;/p&gt;
&lt;p&gt;截至目前，该项目已获得 &lt;strong&gt;3,426&lt;/strong&gt; 个 Star，今日新增 444 颗。&lt;/p&gt;
&lt;h2 id=&#34;为什么需要-dcg&#34;&gt;为什么需要 dcg？
&lt;/h2&gt;&lt;p&gt;AI 编码代理（Claude Code、Codex CLI、Gemini CLI、Copilot 等）偶尔会执行灾难性命令，比如 &lt;code&gt;git reset --hard&lt;/code&gt;、&lt;code&gt;rm -rf ./src&lt;/code&gt;、&lt;code&gt;DROP TABLE users&lt;/code&gt;——几秒钟内摧毁数小时未提交的工作。&lt;/p&gt;
&lt;p&gt;dcg 的解决方案很简单：在命令执行前拦截它，阻止执行并给出清晰解释和更安全的替代方案。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# AI 代理尝试运行：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ git reset --hard HEAD~5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# dcg 拦截并阻止：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;════════════════════════════════════════════════════════════════
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BLOCKED  dcg
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;────────────────────────────────────────────────────────────────
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Reason:  git reset --hard destroys uncommitted changes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Command: git reset --hard HEAD~5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tip: Consider using &amp;#39;git stash&amp;#39; first to save your changes.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;════════════════════════════════════════════════════════════════
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;核心特性&#34;&gt;核心特性
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;零配置保护&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开箱即用，自动拦截危险的 git/文件系统命令&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;50+ 安全规则包&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;涵盖数据库、Kubernetes、Docker、AWS/GCP/Azure、Terraform 等&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;亚毫秒级延迟&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;SIMD 加速过滤，你几乎感觉不到它的存在&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Heredoc/内联脚本扫描&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;能捕获 &lt;code&gt;python -c &amp;quot;os.remove(...)&amp;quot;&lt;/code&gt; 等嵌入式脚本中的危险操作&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;智能上下文检测&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;不阻止 &lt;code&gt;grep &amp;quot;rm -rf&amp;quot;&lt;/code&gt;（数据），但阻止 &lt;code&gt;rm -rf /&lt;/code&gt;（执行）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;丰富的终端输出&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;人类可读的拒绝面板、规则上下文和建议&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;代理安全流&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;机器可读的 JSON 输出在 stdout，丰富的 UI 在 stderr&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;原生 Codex 支持&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Codex CLI 0.125.0+ 可靠地接收并执行拒绝消息&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;优雅降级&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;CI、管道、哑终端和无色环境均有适配输出&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;扫描模式&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;支持 pre-commit 钩子和 CI 集成，在代码审查中捕获危险命令&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;故障开放设计&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;永不因超时或解析错误阻止你的工作流&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;解释模式&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;dcg explain &amp;quot;command&amp;quot;&lt;/code&gt; 精确展示为什么某命令被阻止&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;支持的-ai-编码代理&#34;&gt;支持的 AI 编码代理
&lt;/h2&gt;&lt;p&gt;dcg 目前支持以下代理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codex CLI&lt;/strong&gt;（0.125.0+）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini CLI&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VS Code Copilot Chat&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cursor IDE&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hermes Agent&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grok (xAI)&lt;/strong&gt;（原生 &lt;code&gt;~/.grok/hooks/&lt;/code&gt; 加 Claude 兼容层）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Antigravity CLI（agy）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenCode&lt;/strong&gt;（社区插件）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pi&lt;/strong&gt;（扩展配方）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aider&lt;/strong&gt;（仅 git hooks）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continue&lt;/strong&gt;（仅检测）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;快速安装&#34;&gt;快速安装
&lt;/h2&gt;&lt;h3 id=&#34;linux--macos--wsl&#34;&gt;Linux / macOS / WSL
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;date +%s&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s -- --easy-mode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;windows原生-powershell&#34;&gt;Windows（原生 PowerShell）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;scriptblock&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Create&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.ps1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)))&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-EasyMode&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Verify&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装程序会自动检测平台、下载正确二进制文件、配置检测到的代理钩子，并运行自检。&lt;/p&gt;
&lt;h2 id=&#34;50-模块化安全规则包&#34;&gt;50+ 模块化安全规则包
&lt;/h2&gt;&lt;p&gt;dcg 采用模块化&amp;quot;包&amp;quot;系统来组织破坏性命令模式。默认启用三个核心包：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;包&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;core.filesystem&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;危险的 &lt;code&gt;rm -rf&lt;/code&gt;（始终启用，不可禁用）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;core.git&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;破坏性 git 命令（始终启用，不可禁用）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;system.disk&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;mkfs&lt;/code&gt;、&lt;code&gt;dd&lt;/code&gt;-to-device 等磁盘操作&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;在 Windows 上还默认启用 &lt;code&gt;windows.filesystem&lt;/code&gt;（&lt;code&gt;del /s&lt;/code&gt;、&lt;code&gt;rd /s&lt;/code&gt; 等）和 &lt;code&gt;windows.system&lt;/code&gt;（&lt;code&gt;vssadmin delete shadows&lt;/code&gt; 等）。&lt;/p&gt;
&lt;p&gt;其他所有包均为&lt;strong&gt;按需启用&lt;/strong&gt;，涵盖：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据库&lt;/strong&gt;：PostgreSQL、MySQL、MongoDB、Redis、SQLite、Supabase&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;容器&lt;/strong&gt;：Docker、Docker Compose、Podman&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes&lt;/strong&gt;：kubectl、Helm、Kustomize&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;云服务商&lt;/strong&gt;：AWS、Azure、GCP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;基础设施&lt;/strong&gt;：Ansible、Terraform、Pulumi、Atmos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI/CD&lt;/strong&gt;：GitHub Actions、GitLab CI、Jenkins、CircleCI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;密钥管理&lt;/strong&gt;：Vault、1Password、Doppler、AWS Secrets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;存储&lt;/strong&gt;：S3、GCS、MinIO、Azure Blob&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;消息队列&lt;/strong&gt;：Kafka、RabbitMQ、NATS、SQS/SNS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;搜索引擎&lt;/strong&gt;：Elasticsearch、OpenSearch、Meilisearch、Algolia&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;监控&lt;/strong&gt;：Datadog、New Relic、PagerDuty、Prometheus、Splunk&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;支付&lt;/strong&gt;：Stripe、Braintree、Square&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS&lt;/strong&gt;：Cloudflare、Route53&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CDN&lt;/strong&gt;：Cloudflare Workers、CloudFront、Fastly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 网关&lt;/strong&gt;：Apigee、AWS API Gateway、Kong&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;邮件&lt;/strong&gt;：Mailgun、Postmark、SendGrid、SES&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特性开关&lt;/strong&gt;：LaunchDarkly、Flipt、Split、Unleash&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;负载均衡&lt;/strong&gt;：ELB、HAProxy、nginx、Traefik&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;备份&lt;/strong&gt;：Borg、rclone、restic、Velero&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;平台&lt;/strong&gt;：GitHub、GitLab、Kamal、Modal、Railway&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;：文件系统、系统操作、PowerShell、杂项&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;启用更多保护只需在配置文件中添加：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# ~/.config/dcg/config.toml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;packs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;enabled&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;database.postgresql&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;    &lt;span class=&#34;c&#34;&gt;# 阻止 DROP TABLE、TRUNCATE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;kubernetes.kubectl&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;     &lt;span class=&#34;c&#34;&gt;# 阻止 kubectl delete namespace&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;cloud.aws&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;              &lt;span class=&#34;c&#34;&gt;# 阻止 aws ec2 terminate-instances&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;containers.docker&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;      &lt;span class=&#34;c&#34;&gt;# 阻止 docker system prune&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;代理特定信任配置&#34;&gt;代理特定信任配置
&lt;/h2&gt;&lt;p&gt;dcg 自动检测调用它的 AI 代理，可按代理设置不同信任级别和规则：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 对 Claude Code 更信任——更宽的白名单，更少的包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;agents&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;claude-code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;trust_level&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;high&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;additional_allowlist&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;npm run build&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;cargo test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;disabled_packs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;kubernetes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 对未知代理更严格——额外规则，无白名单绕过&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;agents&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;unknown&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;trust_level&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;low&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;extra_packs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;paranoid&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;disabled_allowlist&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;heredoc-三层架构&#34;&gt;Heredoc 三层架构
&lt;/h2&gt;&lt;p&gt;dcg 的 heredoc 和内联脚本扫描采用三层管道设计，兼顾性能和精度：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Tier 1：触发检测&lt;/strong&gt;（&amp;lt;100μs）——超快 RegexSet 筛选，无匹配直接 ALLOW&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tier 2：内容提取&lt;/strong&gt;（&amp;lt;1ms）——从 heredoc、here-string、内联脚本中提取代码&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tier 3：AST 模式匹配&lt;/strong&gt;（&amp;lt;5ms）——使用 tree-sitter/ast-grep 解析代码结构，检测危险模式&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这意味着 &lt;code&gt;python -c &amp;quot;os.remove(&#39;/etc/passwd&#39;)&amp;quot;&lt;/code&gt; 这类&amp;quot;嵌套&amp;quot;危险命令也能被捕获。&lt;/p&gt;
&lt;h2 id=&#34;自定义规则包&#34;&gt;自定义规则包
&lt;/h2&gt;&lt;p&gt;你可以用 YAML 文件创建组织特定的安全规则包：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;packs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;custom_paths&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;~/.config/dcg/packs/*.yaml&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;      &lt;span class=&#34;c&#34;&gt;# 用户包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;.dcg/packs/*.yaml&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;               &lt;span class=&#34;c&#34;&gt;# 项目本地包&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;逃逸机制&#34;&gt;逃逸机制
&lt;/h2&gt;&lt;p&gt;如果你确实需要运行被阻止的命令：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;方法&lt;/th&gt;
					&lt;th&gt;范围&lt;/th&gt;
					&lt;th&gt;操作&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;环境变量绕过&lt;/td&gt;
					&lt;td&gt;单次命令&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;DCG_BYPASS=1 &amp;lt;command&amp;gt;&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;一次性许可码&lt;/td&gt;
					&lt;td&gt;单次命令&lt;/td&gt;
					&lt;td&gt;从阻止消息中复制短码，运行 &lt;code&gt;dcg allow-once &amp;lt;code&amp;gt;&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;永久白名单&lt;/td&gt;
					&lt;td&gt;规则或命令&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;dcg allowlist add core.git:reset-hard -r &amp;quot;reason&amp;quot;&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;移除钩子&lt;/td&gt;
					&lt;td&gt;所有命令&lt;/td&gt;
					&lt;td&gt;删除 &lt;code&gt;~/.claude/settings.json&lt;/code&gt; 中的 dcg 条目&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;配置层级&#34;&gt;配置层级
&lt;/h2&gt;&lt;p&gt;dcg 支持多源分层配置，高优先级覆盖低优先级：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;环境变量（DCG_* 前缀）——最高&lt;/li&gt;
&lt;li&gt;显式配置文件（DCG_CONFIG 环境变量）&lt;/li&gt;
&lt;li&gt;项目配置（仓库根目录 &lt;code&gt;.dcg.toml&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;用户配置（&lt;code&gt;~/.config/dcg/config.toml&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;系统配置（&lt;code&gt;/etc/dcg/config.toml&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;编译默认值——最低&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;项目起源&#34;&gt;项目起源
&lt;/h2&gt;&lt;p&gt;dcg 最初由 Jeffrey Emanuel 以 Python 脚本形式创建，后来由 Darin Gordon 完成 Rust 移植并添加性能优化（SIMD 加速、懒加载正则等）。Jeffrey 随后大幅扩展了 Rust 版，增加了模块化包系统（50+ 安全包）、heredoc/内联脚本扫描、三层架构、上下文分类、白名单、扫描模式等特性。&lt;/p&gt;
&lt;p&gt;项目采用 MIT 许可证。&lt;/p&gt;
&lt;h2 id=&#34;总结&#34;&gt;总结
&lt;/h2&gt;&lt;p&gt;随着 AI 编码代理日益普及，它们执行破坏性命令的风险也在增加。dcg 提供了一个零配置、亚毫秒级、覆盖 50+ 安全领域的防护层，让 AI 代理在帮你写代码的同时不会意外摧毁你的工作。如果你正在使用 Claude Code、Codex CLI、Gemini CLI 等任何 AI 编码代理，dcg 是一个值得立即安装的安全工具。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
