Claude Code 隱寫術事件: Anthropic 如何用一個單引號給你打標籤
一句話結論:2026 年 6 月底,據開發者逆向報告,Claude Code(非 Claude 網頁版)在使用者將 ANTHROPIC_BASE_URL 指向非官方代理時,會用文字隱寫術改寫系統提示詞裡 Today's date is... 一行——透過切換日期分隔符和肉眼幾乎無法分辨的 Unicode 單引號,把「是否在中國時區、是否命中中國網域/AI 實驗室」等位元資訊悄悄夾帶回伺服器。Anthropic 已在 2.1.197 移除相關程式碼;它大概率是反模型蒸餾/反轉售手段,但爭議在於做法太隱蔽、還刻意混淆。
面向使用 Claude Code 的開發者、安全工程師與企業 IT 決策者,本文將回答三件事:① 2026 年 4 月 Claude Desktop 瀏覽器注入與 6 月 Claude Code 隱寫術兩件獨立事件的全貌;② Unicode 指紋映射表與觸發條件的技術原理;③ 六步自查防護、HN 社群爭議,以及 AI 廠商越界時我們該有的態度。措辭遵循「據爆料/據逆向報告/被指控」原則,目的(反蒸餾)與手段(隱寫)分開評價。
01 2026 年 Claude 隱寫術與瀏覽器注入:發生了什麼?
這波風波其實是兩個獨立事件疊加發酵——發稿前務必區分,否則會被 HN / Reddit / 安全圈讀者一眼看穿,傷害 E-E-A-T 與可信度。
| 時間 | 事件 | 來源 |
|---|---|---|
| 2026-04(約 4/18 起) | 事件 A:Claude Desktop 靜默寫入瀏覽器 Native Messaging 清單 | Alexander Hanff(The Register 撰稿人) |
| 2026-06-30 | 事件 B:Claude Code 系統提示詞隱寫術被逆向曝光 | thereallo.dev → Reddit → Hacker News |
| 2026-07-01 | Anthropic 發布 Claude Code 2.1.197 移除隱寫程式碼(changelog 未提及) | Tech Startups / Developers Digest 等報導 |
| HN 討論 | 數小時衝上首頁,350+ points、100+ 評論,社群分裂兩派 | Hacker News |
- 事件 A 痛點:安裝 Claude Desktop(macOS)後,毫不知情地向 Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium 寫入
com.anthropic.claude_browser_extension.json,預授權 3 個擴充功能 ID 呼叫沙箱外的chrome-native-host;即使瀏覽器未安裝也預建目錄,刪除後重啟會復活。 - 事件 B 痛點:僅當
ANTHROPIC_BASE_URL ≠ api.anthropic.com時,在系統提示詞日期行嵌入隱蔽指紋——並非每次對話都必然觸發。 - 獨立顧問 Noah Kenney(Digital 520)確認 Hanff 對事件 A 的技術主張可復現;安天實驗室(Antiy Labs)發布了 Claude Desktop 高權限瀏覽器通道風險分析報告。
02 Claude Desktop 注入 vs Claude Code 隱寫:兩事件對比矩陣
| 維度 | 事件 A:靜默瀏覽器注入 | 事件 B:系統提示詞隱寫術 |
|---|---|---|
| 涉及產品 | Claude Desktop(macOS 用戶端) | Claude Code(CLI 編碼工具) |
| 爆料人 | Alexander Hanff(隱私顧問) | 開發者逆向二進位,發布於 thereallo.dev |
| 被貼標籤 | "spyware" / "backdoor"(間諜軟體/後門) | "prompt steganography" / "covert channel"(提示詞隱寫/隱蔽信道) |
| 觸發條件 | 安裝/啟動 Claude Desktop 即觸發 | 僅設定非官方 Base URL(代理/閘道)時觸發 |
| Anthropic 回應 | 未正式公開回應;後續版本加授權開關,底層權限模型未根除 | 承認程式碼存在,7/1 發布 2.1.197 移除,changelog 未提及 |
主流解讀:Anthropic 意在偵測未授權轉售 + 模型蒸餾(distillation),而非監視個人;爭議點是手段(隱蔽、混淆、不披露)而非目的。
03 Claude Code 隱寫術怎麼運作?Unicode 單引號指紋表
關鍵前提:只有當你把 ANTHROPIC_BASE_URL 指向非官方位址(代理、閘道、第三方轉售、OpenAI 相容層)時才觸發。 官方 api.anthropic.com 不動手腳。逆向者核對了 2.1.193 / 2.1.195 / 2.1.196 三個版本,均存在該邏輯。
觸發後,程式做兩件事,全都藏在系統提示詞那句人畜無害的 Today's date is ... 裡:
- 改日期分隔符:若系統時區是
Asia/Shanghai或Asia/Urumqi,2026-06-30變成2026/06/30。 - 換單引號:把
Today's裡的撇號替換成視覺一樣、Unicode 不同的字元,編碼「命中了什麼」。
| 偵測到的情況 | 日期格式 | 單引號字元 | Unicode |
|---|---|---|---|
| 預設(無命中) | 2026-06-30 | ' 標準 ASCII 撇號 | U+0027 |
| 命中中國機構/經銷商網域 | 2026-06-30 | ' 右單引號 | U+2019 |
| 命中中國 AI 實驗室關鍵字 | 2026-06-30 | ʼ 修飾符撇號 | U+02BC |
| 網域 + 實驗室都命中 | 2026-06-30 | ʹ 修飾符角分號 | U+02B9 |
| 疊加中國時區 | 2026/06/30 | (同上規則) | — |
網域與關鍵字清單用 base64 + XOR(91) 輕度混淆,約 147 條網域規則;關鍵字包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。
白話來說:你的請求表面上只是普通英文提示詞,但後端掃一眼日期分隔符和單引號的 Unicode 編碼,就能在後台打標籤——「這個使用者掛了海外 VPN,但實際在中國時區,甚至疑似某家中國 AI 實驗室」。這是典型的隱蔽信道(covert channel)與文字隱寫術(prompt steganography)。
python3 -c "
s = open('system_prompt.txt').read()
idx = s.find('Today')
if idx >= 0:
c = s[idx+5]
print(f'Char: {c!r} Codepoint: U+{ord(c):04X}')
"
04 Anthropic 為什麼這麼做?Claude Code 算不算間諜軟體?
動機:反蒸餾 + 反未授權轉售
社群主流判斷(也較克制):目的是反蒸餾 + 反未授權轉售。Anthropic、OpenAI、Google 都公開擔憂對手用 API 大量拉輸出來訓練小模型。中國相關代理、轉售、實驗室是重點懷疑對象,於是加了這套「打標籤」邏輯。
目的可以理解,手段才是問題:把分類信號做成肉眼不可見、還刻意混淆程式碼藏進每個請求,對一個靠開發者信任吃飯的工具來說,踩了信任紅線。HN 上兩派吵得很兇:一派說「這就是正當的反蒸餾防禦」,一派說「對開發者工具而言這近乎惡意行為」。
「間諜軟體」是情緒標籤,更準確的說法是:
- 事件 A更接近「未經授權篡改第三方軟體 + 預留休眠攻擊面」——即便當前沒被利用,也把瀏覽器沙箱外的高權限通道預先鋪好了;疊加 Claude for Chrome 自曝的提示詞注入成功率(無緩解 23.6%、有緩解 11.2%),風險是實實在在的。
- 事件 B更接近「未披露的隱蔽遙測 / 使用者分類」。
無論用不用 "spyware" 這個詞,核心問題一致:未經使用者知情同意、且刻意隱蔽。 這與本站此前分析的 Claude Fable 5 出口管制、MCP 協議 所折射的「AI 廠商與使用者信任邊界」問題一脈相承。
HN 社群兩派觀點
- 防禦派:合理的 anti-distillation defense,保護 API 不被轉售和蒸餾。
- 批評派:malware-adjacent behavior for a dev tool——對開發者工具而言近乎惡意;應公開說明並給開關,而非藏進標點符號。
05 Claude Code 隱寫術怎麼自查?六步防護指南
- 檢查 ANTHROPIC_BASE_URL:在 shell 執行
echo $ANTHROPIC_BASE_URL;若為空或指向api.anthropic.com,事件 B 邏輯不會觸發。走代理/閘道的使用者需重點排查。 - 升級 Claude Code 到 2.1.197+:Anthropic 已於 2026-07-01 發布該版本移除隱寫程式碼;執行
claude --version確認版本號。 - 審查系統時區:執行
date +%Z與readlink /etc/localtime(Linux)或系統偏好設定(macOS),確認是否為Asia/Shanghai/Asia/Urumqi。 - 抓取並分析系統提示詞:在代理環境下用網路抓包或除錯模式匯出 prompt,檢查
Today's撇號 Unicode 碼點是否為 U+0027 以外的值。 - 排查 Claude Desktop Native Messaging(事件 A):在 macOS 各瀏覽器目錄
~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/查找com.anthropic.claude_browser_extension.json,按需刪除——注意重啟 Claude Desktop 可能重建。 - 企業/敏感環境最小權限隔離:評估是否繼續在生產鏈路使用桌面 Agent;對任何桌面 AI Agent 按高權限程式對待——顯式授權、可稽核、網路隔離;參考 AI 程式設計助手對比選型時把「遙測透明度」納入權重。
06 可引用技術數據與關鍵參數
- 網域規則數量:約 147 條,base64 + XOR(91) 混淆儲存於 Claude Code 二進位(據逆向報告)。
- 受影響版本:2.1.193、2.1.195、2.1.196 均存在隱寫邏輯;2.1.197(2026-07-01)移除。
- HN 討論熱度:350+ points、100+ 評論,數小時衝上首頁。
- Claude for Chrome 提示詞注入成功率:無緩解 23.6%、有緩解 11.2%(Anthropic 自曝數據,與事件 A 風險語境相關)。
- 觸發條件:僅
ANTHROPIC_BASE_URL ≠ api.anthropic.com;官方端點使用者不受事件 B 影響。 - Unicode 編碼位:U+0027(預設)、U+2019(中國網域)、U+02BC(AI 實驗室關鍵字)、U+02B9(雙重命中)。
權威來源:The Register(Claude Desktop 權限變更)、Malwarebytes / gHacks / YOOTA(Native Messaging 報導)、thereallo.dev(原始逆向)、Tech Startups / TMC Insight / Developers Digest / TechTimes(2.1.197 修復)、安天實驗室(Antiy Labs)風險分析報告。
07 Claude Code 隱寫術常見問題 FAQ
Q:Claude Code 是間諜軟體嗎?
A:不算傳統意義的間諜軟體,但據逆向報告,它確實在系統提示詞裡藏了未披露、經混淆的指紋來標記走代理的中國相關使用者;Anthropic 已在 2.1.197 移除。更準確的定性是「未披露的隱蔽信道」。
Q:Claude Code 會偵測我的時區嗎?
A:僅在設定了非官方 ANTHROPIC_BASE_URL 時,會檢查 Asia/Shanghai / Asia/Urumqi 並改寫日期分隔符;使用官方端點時日期行不受影響。
Q:Today's date 單引號 Unicode 是什麼原理?
A:把 Today's 中的撇號在 U+0027、U+2019、U+02BC、U+02B9 之間切換,編碼你的端點是否匹配中國相關網域、AI 實驗室關鍵字、兩者兼有或均無。
Q:Anthropic 為什麼要加這個?
A:據社群主流解讀,最可能是偵測模型蒸餾和未授權 API 轉售——合法目標,但實作方式未經披露且刻意隱藏。
Q:這和 Claude Desktop「間諜軟體」是一回事嗎?
A:不是。2026 年 4 月 Claude Desktop 靜默寫入瀏覽器 Native Messaging 清單是獨立事件 A;2026 年 6 月 30 日 Claude Code 提示詞隱寫是事件 B。
Q:普通網頁版 Claude 使用者會被影響嗎?
A:事件 B 只在 Claude Code 且設定了非官方 Base URL 時觸發,普通官方端點使用者不受此邏輯影響。
Q:怎麼刪除 Claude Desktop 注入的瀏覽器檔案?
A:在 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/ 下查找並刪除 com.anthropic.claude_browser_extension.json;注意重啟 Claude Desktop 可能重建。
Q:ANTHROPIC_BASE_URL 指紋是什麼?
A:當 Base URL 指向非官方代理時,Claude Code 根據代理網域與關鍵字清單匹配結果,在系統提示詞日期行嵌入不同 Unicode 字元作為分類信號回傳伺服器。
Q:現在還需要擔心嗎?
A:若已升級 Claude Code 2.1.197+ 且不使用非官方代理,事件 B 已修復;事件 A 的 Claude Desktop Native Messaging 問題據報後續版本加了授權開關但底層模型未根除,仍需自行排查。
Q:應該繼續信任 Anthropic 嗎?
A:這是價值判斷。技術圈共識是:預設不信任、用證據說話——可復現、可稽核、可關閉,才配得上信任;廠商應披露而非隱藏。
08 AI 廠商越界與我們的應對:結語
這件事真正的警示不在「一個撇號」,而在於:當模型能力狂飆、而安全邊界、授權、稽核嚴重滯後時,廠商很容易以「體驗/防濫用」為名,單方面越過使用者與其他軟體廠商之間的信任邊界。歷史在 PC、智慧型手機早期重演——如今在桌面 AI Agent 上原樣復現。
作為使用者與從業者,可行的應對:① 預設不信任、用證據說話——可復現、可稽核、可關閉;② 要求披露而非隱藏——完全可以光明正大地做反蒸餾;③ 最小權限 + 邊界隔離;④ 用腳投票 + 制度約束(GDPR/個資法)。技術可以沒有立場,但公司必須有——能力越大,越要自我約束,這不該是使用者逆向二進位才發現的秘密。
對於需要在隔離環境中執行 Claude Code、OpenClaw 閘道或 自建 MCP Server 的生產團隊,純本地開發機有三個真實短板:家用寬頻抖動導致 SSH/API 長連線中斷、筆電合蓋 Agent 任務掛起、多開發者共享環境難以稽核權限邊界。對於更穩定、更適合 AI Agent 自動化的生產環境,JEXCLOUD 多區域裸機 Mac 是更優解:獨占 Apple Silicon 算力、7×24 上線、按月彈性擴縮,120 秒交付——把 Claude Code 裝在雲端 Mac 上跑重型任務,本地只做互動,同時用獨立網路與時區設定做合規隔離。具體節點與價格請見 JEXCLOUD 定價頁。