Skip to content

Commit 0c6c71a

Browse files
docs: 更新文档
1 parent d0713bd commit 0c6c71a

3 files changed

Lines changed: 299 additions & 2 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
> Which Claude do you like? The open source one is the best.
1212
13-
牢 A (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 完整复原的工程化项目。虽然很难绷, 但是它叫做 CCB(踩踩背)... 而且, 我们实现了企业版或者需要登陆 Claude 账号才能使用的特性, 并在此基础上扩展了更多好玩的特性。
13+
这是 A\ (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 完整复原的工程化项目。而且, 我们持续跟进并实现了企业版或者需要登陆 Claude 账号才能使用的特性, 并在此基础上扩展了更多好玩的特性, 关闭了所有的外部封控点。我们完全兼容 CC 原有的配置, 你不需要改原始配置文件, Dynamic Workflow、Goal 等功能全都在
1414

1515
[Peri Code](https://github.com/KonghaYao/peri):Claude Code 兼容的 Rust Agent,多年大模型经验匠心制作,国内大模型(DeepSeek/GLM)精调,CPU/内存极致优化,在开发版/树莓派上也能跑 CC 一样的体验。
1616

docs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@
7474
"docs/safety/permission-model",
7575
"docs/safety/sandbox",
7676
"docs/safety/plan-mode",
77-
"docs/safety/auto-mode"
77+
"docs/safety/auto-mode",
78+
"docs/safety/miit-warning-response"
7879
]
7980
},
8081
{
Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
1+
---
2+
title: "工信部预警 Claude Code 后门 - 5 分钟切到 CCB 兼容"
3+
description: "工信部 NVDB 预警官方 Claude Code 2.1.91–2.1.196 版本存在后门。CCB 项目已将 Analytics、GrowthBook、Sentry 替换为空实现、不启用遥测、源码可审计。本文给你一份 5 分钟迁移指南:卸载官方、装 CCB、配 claude 别名,从根上断了回传隐患。"
4+
keywords: ["工信部", "NVDB", "安全后门", "遥测", "逆向工程", "迁移指南"]
5+
---
6+
7+
# Claude Code 有安全问题 - 5 分钟切到 CCB 兼容
8+
9+
## 预警!Claude Code 官方版本有安全问题
10+
11+
> CCB 项目:[github.com/claude-code-best/claude-code](https://github.com/claude-code-best/claude-code) · 在线文档:[ccb.agent-aura.top](https://ccb.agent-aura.top/)
12+
13+
2026 年 7 月,工信部 NVDB 预警:官方 Claude Code `2.1.91`(2026-04-02)至 `2.1.196`(2026-06-29)版本内置隐蔽监控,读取系统时区、代理地址判断是否与中国相关,在请求中隐写标记回传地域、身份标识等敏感信息。Claude Code 本身有文件读写、命令执行等高危权限,企业核心代码、密钥、内网架构都可能被一并带走。阿里 7 月 3 日已将其列入高风险名单,7 月 10 日起全面禁用;腾讯、美团、京东等也在收敛外部 AI 模型调用。
14+
15+
说实话,这个预警我没觉得意外。今年 1 月面试时我就当面跟面试官提过:Claude Code 是闭源黑盒,没法 grep 网络行为、没法验证数据流向,企业要用必须满足"开源 + 审计"两个前提。半年后工信部预警,算是验证了判断。
16+
17+
官方已放出清除后门的 `2.1.204`,但仍是闭源黑盒——下次再冒出来你没法验证。CCB 项目就是我对这个风险的直接回应:逆向工程、源码可审计、遥测组件空实现、当前版本 `2.8.2`,从根上断了这条隐患。官方 12 个遥测通道的源码级审计见 [遥测与远程配置下发系统审计](https://ccb.agent-aura.top/docs/telemetry-remote-config-audit)
18+
19+
> 与其升级到官方 2.1.204,不如直接切到 CCB。下面是 5 分钟迁移指南。
20+
21+
## CCB 项目不启用遥测
22+
23+
CCB 项目是对官方 Claude Code CLI 的**逆向工程 / 反编译复原版本**。在处理这些隐患的时候,我的思路是"**遥测组件空实现 + 源码透明 + 基础设施可自托管**",不是简单地把代码删掉了事。
24+
25+
### 1. 遥测组件已替换为空实现
26+
27+
我把官方版本的三大遥测组件都替换成了**空实现**(empty implementations,见 `CLAUDE.md` 的 Stubbed/Deleted Modules 表):
28+
29+
| 组件 | 官方行为 | CCB 项目 |
30+
| ---------------------------------- | ----------------------------------- | ------------------ |
31+
| Analytics(Datadog + 1P BigQuery) | 生产环境批量上报 `tengu_*` 系列事件 | **空实现,不上报** |
32+
| GrowthBook 远程配置 | 启动即拉取,每 6h 刷新 | **空实现,不拉取** |
33+
| Sentry 错误追踪 | 上报异常堆栈 | **空实现,不上报** |
34+
35+
也就是说,CCB 项目启动时**不会向 `api.anthropic.com``us5.datadoghq.com``api.datadoghq.com` 这些遥测端点发送任何数据**。代码路径留着是为了功能完整性,但实际的网络请求已经被我移除了。
36+
37+
其余通道(OpenTelemetry、Beta Session Tracing、Remote Managed Settings 等)代码也保留着,但都需要你显式配置环境变量才会启用:
38+
39+
| 机制 | 官方默认 | CCB 项目 |
40+
| ----------------------- | ----------------------------------- | ----------------------------------------------- |
41+
| OpenTelemetry |`CLAUDE_CODE_ENABLE_TELEMETRY=1` | 同上,默认不启用 |
42+
| Beta Session Tracing | GrowthBook gate 控制 | `feature('ENHANCED_TELEMETRY_BETA')` 默认 false |
43+
| Remote Managed Settings | API key 用户全部拉取 | 代码保留,未配置企业端点时不拉取 |
44+
| Settings Sync | feature gate 控制 | 默认关闭 |
45+
46+
### 2. 源码可审计
47+
48+
官方 Claude Code 是混淆后的单文件产物,你没法直接看。CCB 项目保留了完整的 TypeScript 源码,任何网络请求你都能用 `grep` 找出来:
49+
50+
```bash
51+
# 查找所有对 Anthropic API 的请求
52+
grep -rn "api.anthropic.com" src/ packages/
53+
54+
# 查找所有遥测事件
55+
grep -rn "logEvent\|trackDatadogEvent\|logEventTo1P" src/
56+
57+
# 查找所有远程配置拉取
58+
grep -rn "growthbook\|remoteManagedSettings\|settingsSync" src/
59+
```
60+
61+
完整的 12 个通道清单、文件路径、端点 URL、触发条件、数据字段,我都记在 [遥测与远程配置下发系统审计](https://ccb.agent-aura.top/docs/telemetry-remote-config-audit) 里了,基于源码逐行分析,你可以自己复核。
62+
63+
### 3. 基础设施可自托管
64+
65+
官方版本的数据流向 Anthropic 自有基础设施。CCB 项目支持你把关键基础设施全部自托管:
66+
67+
| 组件 | 自托管方案 | 文档 |
68+
| ------------------ | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
69+
| Feature Flag 平台 | 自建 GrowthBook 实例(开源) | [GrowthBook 适配器](https://ccb.agent-aura.top/docs/internals/growthbook-adapter) |
70+
| 错误追踪 | 自建 Sentry 实例 | [Sentry 配置](https://ccb.agent-aura.top/docs/internals/sentry-setup) |
71+
| 远程控制面板 | 自托管 RCS(Docker) | [Remote Control Server](https://ccb.agent-aura.top/docs/features/remote-control-self-hosting) |
72+
| HTML Artifact 托管 | 自部署 Cloudflare Worker + R2 | [Cloud Artifacts](https://github.com/claude-code-best/claude-code/blob/main/docs/blog/2026-06-20-cloud-artifacts-8h-recap.md) |
73+
| API 端点 | 任意 Anthropic API 兼容服务 | `/login` 命令配置 |
74+
75+
自托管意味着数据不经过 Anthropic 的服务器,从网络层面就把回传路径切断了。
76+
77+
### 4. 双重保险:隐私环境变量
78+
79+
即使遥测组件已经是空实现,我还是保留了官方的隐私控制环境变量,作为双重保险:
80+
81+
```bash
82+
# 禁用所有非必要网络(含自动更新、release notes、grove 等)
83+
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 ccb
84+
85+
# 使用第三方提供商,自动绕过 Anthropic 直连
86+
CLAUDE_CODE_USE_OPENAI=1 ccb # OpenAI 兼容协议
87+
CLAUDE_CODE_USE_GEMINI=1 ccb # Gemini
88+
CLAUDE_CODE_USE_GROK=1 ccb # Grok
89+
CLAUDE_CODE_USE_BEDROCK=1 ccb # AWS Bedrock
90+
```
91+
92+
`src/utils/privacyLevel.ts` 是集中控制点,定义三个级别:`default < no-telemetry < essential-traffic`
93+
94+
## 换 CCB 不丢功能,新特性一个不拉下
95+
96+
你可能担心:换过来之后,官方那些好用的功能还在不在?
97+
98+
放心,一个不拉下。CCB 是对官方 Claude Code 的完整逆向工程复原,官方有的功能都有,还在此基础上扩展了一堆官方没有的特性。
99+
100+
**官方特性完整保留**:权限系统、沙箱、Plan Mode、Auto Mode、MCP 协议、Skills、Hooks、Computer Use、Chrome Use、Voice Mode、60+ 内置工具,全部在。
101+
102+
**CCB 扩展的新特性**
103+
104+
| 特性 | 说明 |
105+
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
106+
| 🎯 **Goal 持续驱动** | `/goal <objective>` 设定目标后自动跨轮驱动 agent 直至完成,带 token budget、completion/blocked audit、`pause`/`resume`/`continue`/`clear` 子命令 |
107+
| 📦 **Artifacts(HTML 上传)** | 复刻官方 Artifacts:模型把 HTML / 数据看板 / 报告上传到公开 URL(7d/30d 自动过期),`/artifacts` 命令集中管理 |
108+
| 🧠 **Dynamic Workflow 多 Agent 编排** | `/ultracode` 注入编排手册 + `Workflow` 工具跑确定性 JS 脚本(`agent` / `pipeline` / `parallel` / `phase`),支持 journal 重放、token budget、并发 cap |
109+
| 🤖 Claude 群控 | Pipe IPC 多实例协作:同机 main/sub 自动编排 + LAN 跨机器零配置发现与通讯 |
110+
| 📡 ACP 协议 | 接入 Zed、Cursor 等 IDE,会话恢复、Skills、权限桥接 |
111+
| 🏠 Remote Control | Docker 自托管远程界面,手机上看 CC |
112+
| 📊 Langfuse 监控 | 企业级 Agent 监控,每次 loop 细节可见,一键转数据集 |
113+
| 🔔 Channels | MCP 服务器推送外部消息到会话(飞书 / Slack / Discord / 微信等) |
114+
| 🔍 Web Search | 内置网页搜索,支持 Bing 和 Brave |
115+
| 💰 Poor Mode | 穷鬼模式,关闭记忆提取和键入建议,大幅减少并发请求 |
116+
| 🧘 /dream | 自动整理和优化记忆文件 |
117+
| 🔧 自定义模型供应商 | OpenAI / Anthropic / Gemini / Grok 兼容,`/login` 一键配置 |
118+
119+
完整特性清单见 [全特性指南](https://ccb.agent-aura.top/docs/features/all-features-guide)
120+
121+
> 也就是说:换 CCB 不是"牺牲功能换安全",而是"安全 + 功能一个不落"。
122+
123+
## 迁移到 CCB 项目
124+
125+
如果你当前用的就是官方受影响版本(2.1.91–2.1.196),按下面的步骤迁过来就行,整个过程大概 5 分钟。
126+
127+
### 步骤 1:确认当前版本
128+
129+
```bash
130+
claude --version
131+
# 若输出在 2.1.91 ~ 2.1.196 之间,属于受影响版本
132+
```
133+
134+
CCB 项目当前版本是 `2.8.2`(见 `package.json`,通过 `scripts/defines.ts` 注入为 `MACRO.VERSION`),不在受影响区间内。
135+
136+
### 步骤 2:卸载官方 Claude Code
137+
138+
官方 Claude Code 可能是通过多种方式装的,按你的实际情况挑一个:
139+
140+
```bash
141+
# 2a. npm 全局安装的
142+
npm rm -g @anthropic-ai/claude-code
143+
144+
# 2b. Homebrew 安装的(macOS)
145+
brew uninstall claude-code 2>/dev/null || true
146+
147+
# 2c. 手动二进制 / 未知来源
148+
which claude # 先查找位置
149+
rm -f "$(which claude)" # 再删除
150+
151+
# 2d. 检查 shell alias / 函数(可能指向官方二进制)
152+
grep -n "claude" ~/.zshrc ~/.bashrc ~/.bash_profile 2>/dev/null
153+
# 如果找到 alias claude='...' 或 claude() {...} 指向官方,先注释掉
154+
```
155+
156+
顺手清理一下官方版本的本地缓存与配置(建议先备份再清理):
157+
158+
```bash
159+
# 备份现有配置(如有自定义 settings)
160+
cp ~/.claude/settings.json ~/claude-settings.backup.json 2>/dev/null || true
161+
162+
# 清理官方缓存
163+
rm -f ~/.claude.json # GrowthBook 远程配置缓存
164+
rm -rf ~/.claude/logs/ # 1P 事件重试队列
165+
rm -rf ~/.claude/remoteManagedSettings/ # 企业远程配置缓存
166+
```
167+
168+
> `~/.claude/settings.json` 建议留着,CCB 项目会复用它存 `/login` 配置。真遇到冲突了再删也不迟。
169+
170+
### 步骤 3:安装 CCB 项目
171+
172+
我给你准备了两种装法,按场景挑一个。
173+
174+
#### 方式 A:npm 全局安装(推荐,快速)
175+
176+
```bash
177+
npm i -g claude-code-best
178+
179+
ccb --version # 验证安装,应输出 2.8.x
180+
ccb # Node.js 形态启动
181+
ccb-bun # Bun 形态启动(更快)
182+
ccb update # 后续更新到最新版本
183+
```
184+
185+
#### 方式 B:源码编译(企业内网 / 需要定制 / 想审阅代码)
186+
187+
适合想完全掌控构建产物、或者网络受限访问不了 npm 的朋友。
188+
189+
```bash
190+
# 3a. 克隆源码
191+
git clone https://github.com/claude-code-best/claude-code.git
192+
cd claude-code
193+
194+
# 3b. 安装依赖(需要 Bun >= 1.3.11)
195+
curl -fsSL https://bun.sh/install | bash # 如果还没装 Bun
196+
bun install
197+
198+
# 3c. 构建(code splitting,产物输出到 dist/)
199+
bun run build
200+
# 产物:dist/cli.js + 约 450 个 chunk 文件
201+
202+
# 3d. 验证构建产物
203+
node dist/cli.js --version
204+
#
205+
bun dist/cli.js --version
206+
207+
# 3e. 链接到 PATH(任选一种)
208+
209+
# 方式 1:symlink 到 /usr/local/bin(需要 sudo)
210+
sudo ln -s "$(pwd)/dist/cli.js" /usr/local/bin/ccb
211+
chmod +x /usr/local/bin/ccb
212+
213+
# 方式 2:加入用户 PATH(无需 sudo)
214+
echo 'export PATH="'$(pwd)'/dist:$PATH"' >> ~/.zshrc
215+
source ~/.zshrc
216+
217+
# 方式 3:bun 形态直接链接
218+
sudo ln -s "$(pwd)/dist/cli.js" /usr/local/bin/ccb-bun
219+
220+
# 3f. 验证
221+
ccb --version
222+
```
223+
224+
后续更新源码编译版本:
225+
226+
```bash
227+
cd /path/to/claude-code
228+
git pull
229+
bun install
230+
bun run build
231+
# symlink 自动指向最新构建产物
232+
```
233+
234+
### 步骤 4:配置 `claude` 别名指向 `ccb`
235+
236+
迁过来之后,你的肌肉记忆、shell 脚本、IDE 配置可能还在调 `claude` 命令。别急着全改——给 `claude` 加个别名指向 `ccb`,下游啥都不用动。
237+
238+
```bash
239+
# 方式 1:shell alias(推荐,最灵活)
240+
echo "alias claude='ccb'" >> ~/.zshrc
241+
source ~/.zshrc
242+
243+
# 方式 2:symlink(兼容不识别 alias 的脚本 / GUI 程序)
244+
sudo ln -s "$(which ccb)" /usr/local/bin/claude
245+
246+
# 方式 3:shell 函数(需要透传所有参数时)
247+
cat >> ~/.zshrc << 'EOF'
248+
claude() { ccb "$@"; }
249+
EOF
250+
source ~/.zshrc
251+
```
252+
253+
bash 用户把 `~/.zshrc` 换成 `~/.bashrc` 就行。
254+
255+
验证别名生效:
256+
257+
```bash
258+
claude --version # 应输出 ccb 的版本号 2.8.x
259+
type claude # 确认指向 alias 或 ccb
260+
```
261+
262+
### 步骤 5:配置 API 端点
263+
264+
首次运行后在 REPL 里输入 `/login`,选一个对接方式:
265+
266+
| 选项 | 适用场景 |
267+
| ------------------------ | ---------------------------------------------------------------------------------- |
268+
| **Anthropic Compatible** | 对接第三方 API 兼容服务(OpenRouter、AWS Bedrock 代理等),无需 Anthropic 官方账号 |
269+
| **OpenAI** | Ollama / DeepSeek / vLLM 等 OpenAI 协议端点 |
270+
| **Gemini** | Google Gemini |
271+
| **Grok** | xAI Grok |
272+
273+
需要填的字段:Base URL、API Key、Haiku/Sonnet/Opus Model ID。详见 [快速开始](https://ccb.agent-aura.top/)
274+
275+
### 步骤 6:验证迁移成功
276+
277+
迁完之后跑一遍验证,心里踏实:
278+
279+
```bash
280+
# 1. 确认命令指向 CCB 项目
281+
claude --version
282+
# 期望输出:2.8.x(CCB 项目版本),而非 2.1.91~2.1.196
283+
284+
# 2. 启动并确认无遥测请求
285+
ccb
286+
# 在 REPL 中输入任意命令,用另一个终端监控网络:
287+
sudo lsof -i -n -P | grep -E "claude|ccb"
288+
# 不应出现对 us5.datadoghq.com 的连接
289+
# 对 api.anthropic.com 的连接仅在你使用 Anthropic 兼容 API 时出现
290+
```
291+
292+
## 这是开源项目,欢迎贡献
293+
294+
CCB 是开源项目,所有源码在 GitHub:[github.com/claude-code-best/claude-code](https://github.com/claude-code-best/claude-code)。欢迎提 issue、提 PR、分享迁移经验、补充文档。如果你在迁移过程中遇到问题,或者有安全审计的新发现,都欢迎来仓库交流—— Discord 群组 [discord.gg/uApuzJWGKX](https://discord.gg/uApuzJWGKX) 也能找到我。
295+
296+
> 用的人越多,审计的眼睛越多,这个项目就越安全。

0 commit comments

Comments
 (0)