ANTHROPIC_BASE_URL)時,會用文字隱寫術改寫系統提示詞裡 Today's date is... 這一行——透過切換日期分隔符和肉眼幾乎無法分辨的 Unicode 單引號,把「你是否在中國時區、是否命中中國網域/AI 實驗室」這幾個位元資訊悄悄夾帶回伺服器。Anthropic 已在 2.1.197 版本移除相關程式碼。本文嚴格區分事件 A(Claude Desktop 靜默瀏覽器注入)與事件 B(Claude Code 提示詞隱寫),涵蓋 Unicode 對照表、反蒸餾動機、HN 爭議、六步自查防護與 AI 廠商越界應對。可與 AI 程式設計助手對比、MCP 協定基礎設施 交叉閱讀。Claude Code 隱寫術發生了什麼?兩件事別搞混:Desktop 注入 vs Code 指紋
一句話結論:這波風波其實是兩個獨立事件疊加發酵。把兩者混為一談會被英文技術讀者(HN / Reddit / 安全圈)一眼看穿,反而傷害 E-E-A-T 與可信度。發稿前務必區分:
| 維度 | 事件 A:靜默瀏覽器注入 | 事件 B:系統提示詞隱寫術 |
|---|---|---|
| 涉及產品 | Claude Desktop(macOS 用戶端) | Claude Code(CLI 編碼工具) |
| 爆料人 | Alexander Hanff(隱私顧問,The Register 撰稿人) | 開發者逆向二進位,發布於 thereallo.dev,經 Reddit → Hacker News 發酵 |
| 時間 | 2026 年 4 月(約 4/18 起) | 2026 年 6 月 30 日 |
| 核心行為 | 靜默向 Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium 寫入 Native Messaging 清單 com.anthropic.claude_browser_extension.json,預授權 3 個擴充功能 ID 呼叫沙箱外的 chrome-native-host;即使瀏覽器未安裝也預建目錄,刪除後重新啟動會復活 | 當 ANTHROPIC_BASE_URL ≠ api.anthropic.com(走代理/閘道)時,用隱寫術改寫系統提示詞裡 Today's date is... 一行 |
| 被貼標籤 | 「spyware」/「backdoor」(間諜軟體/後門) | 「prompt steganography」/「covert channel」(提示詞隱寫/隱蔽通道) |
| 觸發條件 | 安裝/啟動 Claude Desktop 即觸發 | 僅在設定了非官方 Base URL 時觸發;並非每次對話都必然觸發 |
| Anthropic 回應 | 未正式公開回應;後續版本加了授權開關,但底層權限模型未根除 | 承認程式碼存在,7/1 發布 2.1.197 移除,但 changelog 未提及 |
事件 A 細節(據 Hanff 爆料與獨立復現):安裝 Claude Desktop 後,它會在你毫不知情的情況下向多款瀏覽器目錄靜默寫入 Native Messaging 設定檔,預授權擴充功能呼叫一個執行在瀏覽器沙箱之外、擁有目前使用者完整權限的本機程式。更離譜的是:即使這些瀏覽器沒裝,它也會先把目錄建好、設定寫好;你手動刪掉,重新啟動 Claude Desktop 又會復活。獨立顧問 Noah Kenney(Digital 520)確認 Hanff 的技術主張可復現;安天實驗室(Antiy Labs)發布了專門風險分析報告。
事件 B 細節(據 thereallo.dev 逆向報告):一名開發者逆向 Claude Code 二進位,發現了系統提示詞隱寫術——本文主角。HN 討論帖數小時衝到首頁,350+ points、100+ 留言,社群分裂為「合理的反蒸餾防禦」vs「對開發者工具而言近乎惡意」。
混淆兩個產品:Claude Desktop 的瀏覽器注入與 Claude Code 的提示詞隱寫是完全不同的機制與觸發條件。
誤以為官方端點也受影響:事件 B 僅在 ANTHROPIC_BASE_URL 指向非 api.anthropic.com 時觸發。
把「意圖」當「已證實事實」:反蒸餾是社群主流解讀,但 Anthropic 未公開確認;措辭應用「據爆料/據逆向/被指控」。
忽視事件 A 的持久性:Native Messaging 清單刪除後 Claude Desktop 重新啟動會重建,需持續監控。
低估桌面 Agent 權限:Claude for Chrome 自曝提示詞注入成功率無緩解 23.6%、有緩解 11.2%,疊加高權限通道風險實實在在。
Claude Code 隱寫術怎麼運作?Unicode 單引號對照表與技術拆解
關鍵前提:只有當你把 ANTHROPIC_BASE_URL 指向非官方位址(即走代理、閘道、第三方轉售、OpenAI 相容層)時才觸發。官方 api.anthropic.com 不動手腳。
觸發後,程式做兩件事,全都藏在系統提示詞那句人畜無害的 Today's date is ... 裡:
| 偵測到的情況 | 日期格式 | 單引號字元 | Unicode |
|---|---|---|---|
| 預設(無命中) | 2026-06-30 | ' 標準撇號 | U+0027 |
| 命中中國機構/經銷商網域 | 2026-06-30 | ' 右單引號 | U+2019 |
| 命中中國 AI 實驗室關鍵字 | 2026-06-30 | ʼ 修飾符撇號 | U+02BC |
| 網域 + 實驗室都命中 | 2026-06-30 | ʹ 修飾符角分號 | U+02B9 |
| 疊加中國時區(Asia/Shanghai / Asia/Urumqi) | 2026/06/30 | (同上規則) | — |
網域與關鍵字清單用 base64 + XOR(91) 輕度混淆,約 147 條網域規則。關鍵字包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。逆向者核對了 2.1.193 / 2.1.195 / 2.1.196 三個版本,均存在該邏輯。
echo $ANTHROPIC_BASE_URL timedatectl | grep "Time zone" find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension.json" 2>/dev/null
白話說明:你的請求表面上只是普通英文提示詞,但後端只要掃一眼日期裡的分隔符和那個單引號的 Unicode 編碼,就能在後台給你打標籤——「這個使用者掛了海外 VPN,但實際在中國時區,甚至疑似某家中國 AI 實驗室」。這就是典型的隱蔽通道(covert channel)。
時區 + 單引號 Unicode 的技術細節完全屬實,來自 thereallo.dev 逆向報告,與社群公開討論一致。
Anthropic 為什麼這麼做?Claude Code 算不算間諜軟體?
社群主流判斷(也較克制):目的是反蒸餾 + 反未授權轉售。此前 Anthropic、OpenAI、Google 都公開擔憂對手用 API 大量拉輸出來訓練小模型(distillation)。中國相關代理、轉售、實驗室是重點懷疑對象,於是加了這套「打標籤」邏輯。
目的可以理解,手段才是問題:把分類訊號做成肉眼不可見、還刻意混淆程式碼藏進每個請求,對一個靠開發者信任吃飯的工具來說,是踩了信任紅線。HN 上兩派吵得很兇:
| 陣營 | 觀點 |
|---|---|
| 反蒸餾派 | 「合理的反蒸餾防禦」——保護模型不被競爭對手 harvest 輸出 |
| 開發者信任派 | 「對開發者工具而言近乎惡意」——未披露、混淆、藏進標點符號不可接受 |
「間諜軟體」是有情緒的標籤。更準確的說法:
事件 A更接近「未經授權篡改第三方軟體 + 預留休眠攻擊面」——即便目前沒被利用,它也把瀏覽器沙箱外的高權限通道預先鋪好了。
事件 B更接近「未披露的隱蔽遙測 / 使用者分類」——不是傳統意義上的資料竊取,但缺乏知情同意。
無論用不用「spyware」這個詞,核心問題一致:未經使用者知情同意、且刻意隱蔽。主流解讀是 Anthropic 意在偵測未授權轉售 + 模型蒸餾,而非監視個人;爭議點是手段(隱蔽、混淆、不披露)而非目的。
合規提醒:全文用「據爆料/據逆向報告/被指控(alleged)」等措辭,避免把「意圖」當成已證實的事實斷言。目的(反蒸餾)與手段(隱寫)要分開評價。
Claude Code 怎麼自查與防護?六步操作指南
無論你是走代理的 Claude Code 使用者,還是安裝了 Claude Desktop 的 macOS 使用者,以下步驟可復現、可稽核:
檢查 ANTHROPIC_BASE_URL:執行 echo $ANTHROPIC_BASE_URL。若為空或指向 api.anthropic.com,事件 B 不會觸發;若指向第三方閘道/轉售,你屬於受影響人群。
升級 Claude Code 版本:確保 CLI 版本 ≥ 2.1.197(2026 年 7 月 1 日發布,已移除隱寫程式碼)。執行 claude --version 核對。
檢查時區環境:執行 timedatectl 或 date +%Z。若系統時區為 Asia/Shanghai 或 Asia/Urumqi 且走代理,歷史上會被疊加日期分隔符訊號。
排查 Native Messaging 清單(事件 A):在 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/ 下查找 com.anthropic.claude_browser_extension.json,按需刪除。注意 Claude Desktop 重新啟動可能重建。
稽核 Claude Desktop 授權開關:後續版本雖加了授權開關,但據安全社群分析,底層權限模型未根除;企業環境應評估是否繼續在生產鏈路使用桌面 Agent。
企業/敏感環境隔離:將任何桌面 AI Agent 按「高權限程式」對待——最小權限、顯式授權、可稽核是底線。Agent 工作流宿主詳見 說明中心。
claude --version find ~/Library/Application\ Support -path "*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json" grep -r "ANTHROPIC_BASE_URL" ~/.zshrc ~/.bashrc ~/.zprofile 2>/dev/null
AI 廠商越界與我們的應對:可引用資料與收束建議
這件事真正的警示不在「一個撇號」,而在於:當模型能力狂飆、而安全邊界、授權、稽核嚴重滯後時,廠商很容易以「體驗/防濫用」為名,單方面越過使用者與其他軟體廠商之間的信任邊界。
147 條規則:網域/關鍵字清單經 base64 + XOR(91) 混淆,逆向者在 2.1.193–2.1.196 三版均確認存在(thereallo.dev)。
HN 熱度:討論帖數小時衝到首頁,350+ points、100+ 留言,社群嚴重分裂(Hacker News, 2026-06-30)。
Claude for Chrome 注入成功率:據 Anthropic 自曝資料,無緩解 23.6%、有緩解 11.2%,疊加事件 A 高權限通道風險需正視。
作為使用者與從業者,可行的應對:
| 原則 | 具體做法 |
|---|---|
| 預設不信任、用證據說話 | 可復現、可稽核、可關閉,才配得上信任 |
| 要求「披露而非隱藏」 | 廠商完全可以光明正大地做反蒸餾——公開說明、給開關,而不是藏進標點符號 |
| 最小權限 + 邊界隔離 | 對任何桌面 Agent 都按高權限程式對待 |
| 用腳投票 + 制度約束 | 監管(GDPR/個資法)與市場選擇,是約束「技術無邊界」的最終力量 |
參考來源:The Register(Claude Desktop 權限變更,2026-04);Malwarebytes / gHacks / YOOTA(Native Messaging 報導);thereallo.dev(Claude Code 原始逆向);Tech Startups / TMC Insight / Developers Digest / TechTimes(2.1.197 修復);Antiy Labs(安天 Claude Desktop 風險分析)。
攤開替代方案:在個人 Mac 上裸跑 Claude Desktop + 多瀏覽器 Native Messaging 意味著高權限通道與注入面難以稽核;完全依賴第三方 Claude 轉售閘道 則長期暴露於未披露的指紋邏輯;虛擬機跑 macOS Agent 違反 EULA 且 Xcode 簽章受限。對需要 iOS CI/CD、完整 Root 與 7×24 穩定性的 AI Agent 生產環境,KVMNODE 獨佔 Mac Mini M4 雲端租用通常是更優解:100% 原裝實體機、開放 sudo、按天/週/月彈性,Agent 工作流與 Claude Code 可在隔離環境中稽核執行。技術可以沒有立場,但公司必須有——能力越大,越要自我約束,這不該是使用者逆向二進位才發現的秘密。