工信部警告 Claude Code 有後門?我扒了一下,發現不只後門

7 月 8 號,工信部 NVDB 發了一則風險提示:[Claude Code 存在安全後門隱患,危害嚴重](https://link.juejin.cn?target=https%3A%2F%2Fnvdb.org.cn%2FpublicAnnouncement%2F2074681830578630657)。阿里緊接著宣布 7 月 10 號全員禁用。

炸鍋了。技術群裡到處在問:還能不能用?要不要解除安裝?

我用了 CC 大半年,走的是 DeepSeek API 中轉。後門這事我其實不太意外——6 月底 Reddit 上就有人逆向出來了。但真正讓我意外的,是順著這條線扒出來的其他東西。後門只是冰山上面那一點。

先說後門本身。

CC 怎麼判斷你是不是中國使用者

Reddit 使用者 LegitMichel777 在 v2.1.196 裡逆向出了三層檢測,從 v2.1.91 就開始了:

第一層:讀你的系統時區。是 Asia/ShanghaiAsia/Urumqi?標記。

第二層:檢查你的 API 代理位址。CC 內建了一個 147 個網域的硬編碼黑名單——百度、阿里、字節、Moonshot、MiniMax、DeepSeek、智譜、StepFun,全在上面。命中?標記。

第三層最騷:檢測結果不透過網路額外傳輸。它藏在系統提示詞裡——日期格式從 2026-06-30 悄悄變成 2026/06/30,"Today's" 裡的撇號在三個肉眼完全一樣的 Unicode 字元之間切換。你看不出來,AI 也看不出來,但 Anthropic 伺服器端能解析。安全研究員 Adnane Khan (Thereallo) 發布了詳細的逆向分析

程式碼用 XOR key 91 混淆。四個月,沒有告知使用者。[1]

Anthropic 團隊成員 Thariq Shihipar 7 月 1 號在 X 上回應,說這是 3 月開始的「實驗」,目的是防帳號倒賣和模型蒸餾,7 月 2 號已經刪了。工信部定性「危害嚴重」——沒毛病。

:以上後門細節——時區檢測、147 網域黑名單、Unicode 隱寫、XOR key 91——來自社群逆向分析,Anthropic 已承認該機制存在但未確認所有實作細節。

但後門不是最噁心的

有個更隱蔽的問題,Anthropic 到現在也沒正面回應。

從 v2.1.36 開始,Claude Code 在每個 API 請求的 system prompt 最前面塞了一行 x-anthropic-billing-header,裡面有個叫 cch 的五位 hex 欄位。

重點:每次請求,cch 的值都不一樣

同一個 session 三輪對話,cch 依序是 97bd624c2dead88[2]

為什麼這很重要?Anthropic 的 prompt caching 靠前綴匹配。system prompt 在前綴最前面。cch 每次變,前綴雜湊就對不上,上一輪辛苦建好的快取直接報廢。

Anthropic 自己的伺服器端當然知道怎麼處理——伺服器端看到這行就跳過去,不影響快取。但所有第三方代理不知道。DeepSeek 不知道。Bedrock 不知道。本地 vLLM 不知道。它們認認真真把這行當成 system prompt 正文,每次都是全新前綴,命中率歸零。

還有更狠的:CC 不只注入新 cch,還會在歷史上所有訊息裡做全域查找替換,把舊的 cch 值換成新的。如果某條舊訊息剛好包含了之前的 cch 字串,它就被改了——前綴永久性損壞,沒法恢復。有使用者實測:修復前每次恢復會話 56,296 tokens,修復後 32 tokens。1750 倍。[3]

這不是 bug。這是故意讓第三方 API 上的體驗變差,逼你回 Anthropic 官方。

關掉的辦法是從二進位檔裡逆向出來的。社群發現的環境變數,沒有官方文件:

bash 代碼解讀複製代碼CLAUDE_CODE_ATTRIBUTION_HEADER=0

:此環境變數來自社群逆向分析,非 Anthropic 官方文件。在 2.1.169 版本實測有效,後續版本可能不可用。

繼續扒

後門和快取破壞這兩件事讓我起了興趣——到底還有多少東西是 Anthropic 沒說的?翻了大量 GitHub issues 和社群逆向分析之後,又找到了這些。以下發現來自 GitHub issues 和社群分析,Anthropic 未主動揭露:

1. 背後每 3-9 秒給 Datadog 發心跳。 目標位址是 http-intake.logs.us5.datadoghq.com。Anthropic 的官方資料使用文件提了 Statsig 和 Sentry,對 Datadog 隻字未提。社群逆向統計 v2.1.169 版本有 1086 個遙測事件類型。[4]

2. 你關遙測,它降你效能。 DISABLE_TELEMETRY=1 不只是關上報——它也同時關閉了實驗特性下發。結果:快取 TTL 從 1 小時掉到 5 分鐘,部分你付了錢的模型被靜默屏蔽。一句文件提示都沒有。[5]

3. WebFetch 會先把你造訪的網域報給 Anthropic。 每次網頁抓取前,CC 先偷偷請求 claude.ai/api/web/domain_info?domain=xxx,把你正在看的網域告訴伺服器。關掉的辦法藏得很深:settings.json 裡加 "skipWebFetchPreflight": true[6]

4. 用了 /bug 指令?你的整個會話被保留 5 年。 程式碼、檔案內容、bash 輸出——原封不動發給 Anthropic。即使你在隱私設定裡選了「不把我的資料用於訓練」,這個保留期也不受影響。官方文件確認了 5 年保留期。社群方案是 DISABLE_BUG_COMMAND=1

DISABLE_BUG_COMMAND=1 來自社群建議,非 Anthropic 官方文件。VERCEL_PLUGIN_TELEMETRY=off 同理。

5. Vercel 官方外掛用隱藏指令收集遙測。 外掛透過 UserPromptSubmit 鉤子靜默注入提示,讓 AI 向你索取遙測授權。你完全看不到這些注入指令。點了「不」也沒用——只停了文字收集,其餘照常運行。關:VERCEL_PLUGIN_TELEMETRY=off[7]

6. 在編輯器裡按儲存 = 檔案內容可能外洩給模型。 CC 的 FileChanged 通知機制會在你儲存檔案時,把完整檔案內容注入到模型上下文。這個行為繞過了你設定的所有防護——.gitignore 沒用、CLAUDE.md 裡的規則沒用、MCP 鉤子也沒用。.env 儲存了就是外洩了。這個問題在 GitHub issue 中有詳細記錄,目前沒有官方開關。

7. 你付了訂閱費,但只能在 CC 裡用。 Anthropic 在伺服器端加了 oAuth 權杖硬驗證。Pro/Max 訂閱的權杖在 OpenCode、Roo Code 等第三方工具裡會被直接拒絕。回傳資訊很直白:「this credential is only authorized for use with Claude Code」。[8]

我怎麼辦

搞清楚這些之後,我整了一套環境變數。加到 ~/.claude/settings.jsonenv 段,或者直接寫 shell profile:

bash 代碼解讀複製代碼# 資料不到 Anthropic
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"

# 恢復快取(社群逆向發現,非官方文件)
export CLAUDE_CODE_ATTRIBUTION_HEADER=0

# 關上報
export ANTHROPIC_TELEMETRY_DISABLED=1
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

# 關 /bug(社群建議)
export DISABLE_BUG_COMMAND=1

# 關 Vercel 外掛遙測(社群建議)
export VERCEL_PLUGIN_TELEMETRY=off

# 別追最新版
npm install -g @anthropic-ai/[email protected]

settings.json 再加一條:

json 代碼解讀複製代碼{ "skipWebFetchPreflight": true }

關於標記說明:以上環境變數中,ANTHROPIC_TELEMETRY_DISABLEDCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICAnthropic 官方文件 確認。CLAUDE_CODE_ATTRIBUTION_HEADERDISABLE_BUG_COMMANDVERCEL_PLUGIN_TELEMETRY 來自社群發現,需自行驗證。skipWebFetchPreflight 為 settings.json 設定項。

這套配置是我在維護 claude-clean 的過程中攢出來的。claude-clean 是我自己用的工具集,還沒公開發——一方面在看有沒有法律風險,另一方面 Anthropic 盯上了可能針對性加反制。

要是實在不想折騰

也不是沒別的選擇。

聲明:以下提到的 Pi 是我目前在用的工具,Reasonix 是我調研過的參考專案(其 prefix-cache 設計對理解 CC 快取問題有幫助)。ZCode、Qwen Code、OpenCode 僅基於公開資訊和短期實測。沒有人給我錢推任何工具。

CCReasonixZCodeQwen CodePiOpenCode後門有無無無無無開源否MIT否是MIT是模型ClaudeDeepSeek V4GLM-5.2Qwen3.750+75+快取故意破壞前綴優化正常正常正常正常費用按量API 按量300W/天免費百煉 7000W接 key接 key形態TUITUI+桌面桌面+TUITUITUITUI+桌面穩定性穩Go 版穩偶有崩潰⚠️ 實測卡死極簡穩成熟鎖定嚴重DS 專屬無無無無說幾個我實際碰過的:

CC 走 DeepSeek 是現在的主力。工具鏈最熟,配好上面的東西之後比較安心。

Reasonix DeepSeek 親兒子,Go 重寫的。它是唯一一個把 prefix-cache 當一等公民設計的。有社群報告快取命中率很高、同類任務省錢明顯。如果主力用 DeepSeek,值得一試。(文中的「99.82%」和「12vs12 vs 12vs61」資料來自社群分享,非獨立復測結果。)

ZCode 智譜出品,桌面應用做得不錯,GLM-5.2 在 Code Arena 排第二。免費版每天 300 萬 token。npm 上可裝

Qwen Code 不太行。我裝好第一個任務就卡死了。等幾個版本再說。

Pi 極簡路線,MIT 協議。故意不加 MCP、子 agent、權限彈窗——想要自己加 TypeScript 擴充。50+ provider 隨便切。pi.dev。我目前在用,體驗良好。

OpenCode 開源社群底牌,GitHub 182K+ star。75+ provider,TUI + 桌面應用。最自由。

最後

工信部說得對,原版 CC 不該信任。但不用 CC 和不知道 CC 在幹嘛是兩碼事。

搞清楚資料流向哪、信任邊界在哪裡、有哪些開關可以扳——這些比解除安裝還是繼續用的選擇本身重要得多。

不是勸你解除安裝。用不用是你的事。但你應該知道。


文歌子,做終端 Agent 工具,也折騰 AI 安全配置。GitHub: gezi-wen


原文出處:https://juejin.cn/post/7660360633646317618


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝17   💬3   ❤️5
735
🥈
我愛JS
📝3   💬6   ❤️4
165
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登