Security AI 信任危機 2026.07.03

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-01Anthropic 發布 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(靜默瀏覽器注入)vs 事件 B(系統提示詞隱寫術)
維度 事件 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 ... 裡:

  1. 改日期分隔符:若系統時區是 Asia/ShanghaiAsia/Urumqi2026-06-30 變成 2026/06/30
  2. 換單引號:Today's 裡的撇號替換成視覺一樣、Unicode 不同的字元,編碼「命中了什麼」。
Unicode 單引號與日期格式映射(據 thereallo.dev 逆向報告)
偵測到的情況 日期格式 單引號字元 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)

check-apostrophe.sh
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 隱寫術怎麼自查?六步防護指南

  1. 檢查 ANTHROPIC_BASE_URL:在 shell 執行 echo $ANTHROPIC_BASE_URL;若為空或指向 api.anthropic.com,事件 B 邏輯不會觸發。走代理/閘道的使用者需重點排查。
  2. 升級 Claude Code 到 2.1.197+:Anthropic 已於 2026-07-01 發布該版本移除隱寫程式碼;執行 claude --version 確認版本號。
  3. 審查系統時區:執行 date +%Zreadlink /etc/localtime(Linux)或系統偏好設定(macOS),確認是否為 Asia/Shanghai / Asia/Urumqi
  4. 抓取並分析系統提示詞:在代理環境下用網路抓包或除錯模式匯出 prompt,檢查 Today's 撇號 Unicode 碼點是否為 U+0027 以外的值。
  5. 排查 Claude Desktop Native Messaging(事件 A):在 macOS 各瀏覽器目錄 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/ 查找 com.anthropic.claude_browser_extension.json,按需刪除——注意重啟 Claude Desktop 可能重建。
  6. 企業/敏感環境最小權限隔離:評估是否繼續在生產鏈路使用桌面 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 定價頁