2026 CLAUDE
CODE_
STEGANO_
FINGERPRINT.

Claude Code system prompt Unicode apostrophe fingerprint U+2019

TL;DR:2026 年 6 月底,開發者逆向發現 Claude Code(不是 Claude 網頁版)在使用者走代理(ANTHROPIC_BASE_URLapi.anthropic.com)時,會用文字隱寫術改寫系統提示詞裡 Today's date is... 這一行——透過切換日期分隔符與肉眼幾乎無法分辨的 Unicode 單引號,把「你是否在中國時區、是否命中中國網域/AI 實驗室」這幾個位元資訊悄悄夾帶回伺服器。Anthropic 已在 2.1.197 版本移除相關程式碼。它大概率是反模型蒸餾/反轉售手段,但爭議在於:做法太隱蔽、還刻意混淆。本文區分兩件獨立事件、給出 Unicode 對照表、HN 兩派爭議、五步自查防護與 FAQ。

1. 痛點拆解:兩件事疊加發酵,別搞混

這波風波其實是兩個獨立但相關的事件被合併討論。直接照抄混寫會被 HN / 安全圈讀者一眼看穿,傷 E-E-A-T。發稿前務必區分:

維度事件 A:靜默瀏覽器注入事件 B:系統提示詞隱寫術
涉及產品Claude Desktop(macOS 用戶端)Claude Code(CLI 編碼工具)
爆料人Alexander Hanff(隱私顧問,The Register 撰稿人)開發者逆向二進位,發布於 thereallo.dev,經 Reddit → HN 發酵
時間2026-04(約 4/18 起)2026-06-30
核心行為靜默向 Chrome/Edge/Brave/Arc 等寫入 com.anthropic.claude_browser_extension.json,預授權 3 個擴充功能 ID 呼叫沙箱外 chrome-native-host即使瀏覽器未安裝也預建目錄,刪除後重啟會復活ANTHROPIC_BASE_URL 非官方時,用隱寫術改寫 Today's date is... 一行
被貼標籤「spyware / backdoor」「prompt steganography / covert channel」
觸發條件安裝/啟動 Claude Desktop 即觸發僅設定非官方 Base URL 時觸發;並非每次對話都必然觸發
Anthropic 回應未正式公開回應;後續版本加了授權開關承認程式碼存在,7/1 發布 2.1.197 移除,但 changelog 未提及

獨立顧問 Noah Kenney(Digital 520)確認 Hanff 的技術主張可重現;安天實驗室(Antiy Labs)發布了 Claude Desktop 高權限瀏覽器通道風險分析報告。事件 B 的 HN 討論帖數小時衝到首頁,350+ points、100+ 評論,社群分裂為「合理的反蒸餾防禦」vs「對開發者工具而言近乎惡意」。

2. 時間線:What Happened

日期事件版本/來源
2026-04-18 起Hanff 爆料 Claude Desktop 靜默 Native Messaging 注入The Register、Malwarebytes、gHacks
2026-06-30開發者逆向 Claude Code,發現提示詞隱寫術thereallo.dev → Reddit → HN
2026-06-30逆向者核對 2.1.193 / 2.1.195 / 2.1.196 三版均存在thereallo.dev
2026-07-01Anthropic 發布 2.1.197 移除相關程式碼TechTimes、Developers Digest(changelog 未提及)

3. 隱寫術怎麼運作:Unicode 對照表(核心證據)

關鍵前提:只有當你把 ANTHROPIC_BASE_URL 指向非官方位址(代理、閘道、第三方轉售、OpenAI 相容層)時才觸發。官方 api.anthropic.com 不動手腳。

觸發後,程式做兩件事,全都藏在系統提示詞那句人畜無害的 Today's date is ... 裡:

  1. 改日期分隔符:時區為 Asia/ShanghaiAsia/Urumqi 時,2026-06-30 變成 2026/06/30
  2. 換單引號:把 Today's 裡的撇號替換成視覺一樣、Unicode 不同的字元,編碼「命中了什麼」。
偵測到的情況日期格式單引號字元Unicode
預設(無命中)2026-06-30' 標準撇號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)

# 自查:檢查系統提示詞裡 Today's 的單引號 Unicode(需走代理才觸發) python3 -c " import subprocess, os # 升級 Claude Code 到 2.1.197+ 後此邏輯已移除 print('ANTHROPIC_BASE_URL =', os.environ.get('ANTHROPIC_BASE_URL', 'api.anthropic.com (default)')) print('TZ =', os.environ.get('TZ', 'system default')) "

4. Anthropic 為什麼這麼做:目的 vs 手段

社群主流判斷(也較克制):目的是反蒸餾 + 反未授權轉售。Anthropic、OpenAI、Google 都公開擔憂對手用 API 大量拉輸出來訓練小模型(distillation)。中國相關代理、轉售、實驗室是重點懷疑對象,於是加了這套「打標籤」邏輯。

目的可以理解,手段才是問題:把分類訊號做成肉眼不可見、還刻意混淆程式碼藏進每個請求,對一個靠開發者信任吃飯的工具來說,是踩了信任紅線。HN 上兩派吵得很兇:

  • 防禦派:「這就是正當的反蒸餾防禦,比記錄你的程式碼溫和多了。」
  • 反對派:「對開發者工具而言這近乎惡意行為——檔案系統 + shell 權限 + 未披露遙測。」

合規提醒:全文用「據爆料/據逆向報告/被指控(alleged)」等措辭;目的(反蒸餾)與手段(隱寫)要分開評價。

5. 這算間諜軟體嗎?爭議與不同陣營

「間諜軟體」是有情緒的標籤。更準確的說法:

  • 事件 A 更接近「未經授權篡改第三方軟體 + 預留休眠攻擊面」——即便當前沒被利用,它也把瀏覽器沙箱外的高權限通道預先鋪好了。疊加 Claude for Chrome 自曝的提示詞注入成功率(無緩解 23.6%、有緩解 11.2%),風險是實打實的。
  • 事件 B 更接近「未披露的隱蔽遙測 / 使用者分類」。

無論用不用「spyware」這個詞,核心問題一致:未經使用者知情同意、且刻意隱蔽。 LiteLLM 閘道、企業內部代理等合法場景也會觸發事件 B——分類器無法從 hostname alone 區分「 shady 轉售商」與「內部 dev tool」。

6. 五步自查與防護(可操作)

  1. 檢查 ANTHROPIC_BASE_URL:若未設定或指向官方端點,事件 B 不觸發;若走 LiteLLM/OpenRouter/企業閘道,你已被分類(2.1.197 前)。
  2. 升級 Claude Code 到 2.1.197+:Anthropic 已移除隱寫邏輯,但 changelog 未披露——建議保留升級記錄。
  3. macOS 檢查 Native Messaging 清單:在各瀏覽器 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/ 下查找 com.anthropic.claude_browser_extension.json,按需刪除;注意 Claude Desktop 可能重建。
  4. 檢查時區設定Asia/Shanghai / Asia/Urumqi 會疊加日期分隔符訊號(僅事件 B + 走代理時)。
  5. 企業/敏感環境:評估是否繼續在生產鏈路使用桌面 Agent;最小權限、顯式授權、可稽核是底線。

7. 深度案例:桌面 AI Agent 正在複製 PC/智慧型手機早期的安全坑

這件事真正的警示不在「一個撇號」,而在於:當模型能力狂飆、而安全邊界、授權、稽核嚴重滯後時,廠商很容易以「體驗/防濫用」為名,單方面越過使用者與其他軟體廠商之間的信任邊界。

歷史一再重演——PC 時代預裝軟體、智慧型手機早期的權限濫用,如今在桌面 AI Agent上原樣重現。Claude Desktop 預建 Native Messaging 通道 + Claude Code 隱寫指紋,組合起來描繪出一幅圖景:AI 廠商把「高權限本機程式 + 未披露分類訊號」當作預設選項,而非 opt-in。

對 Mac 開發者而言,這意味著:

  • 預設不信任、用證據說話:可重現、可稽核、可關閉,才配得上信任。
  • 要求「披露而非隱藏」:廠商完全可以光明正大地做反蒸餾——公開說明、給開關,而不是藏進標點符號。
  • 最小權限 + 邊界隔離:對任何桌面 Agent 都按「高權限程式」對待;在隔離的遠端 Mac 節點上跑 Claude Code 是可行的架構選擇——記憶體頻寬可在租賃節點上獨立管控。
  • 用腳投票 + 制度約束:GDPR/個資法與市場選擇,是約束「技術無邊界」的最終力量。

技術可以沒有立場,但公司必須有。能力越大,越要自我約束——這不該是使用者逆向二進位才發現的秘密。

8. FAQ

Q:Claude Code 是間諜軟體嗎?
A:不算傳統意義的間諜軟體,但它確實在系統提示詞裡藏了未披露、經混淆的指紋;Anthropic 已在 2.1.197 移除。更準確的定性是「未披露的隱蔽通道」。

Q:Claude Code 會偵測時區嗎?
A:據逆向報告,它檢查 Asia/Shanghai / Asia/Urumqi——但僅在設定了非官方 ANTHROPIC_BASE_URL 時。官方端點不受影響。

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:不是。事件 A(4月)是 Desktop 靜默寫入瀏覽器 Native Messaging 清單;事件 B(6月30日)是 Code 提示詞隱寫,產品不同。

Q:普通網頁版 Claude 使用者會被影響嗎?
A:事件 B 只在 Claude Code 且走代理時觸發,普通官方端點使用者不受影響。

Q:怎麼刪除 Claude Desktop 注入的瀏覽器檔案?
A:在 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/ 下刪除 com.anthropic.claude_browser_extension.json,注意重啟可能重建。

Q:ANTHROPIC_BASE_URL 指紋原理是什麼?
A:當 Base URL 主機名稱 ≠ api.anthropic.com 時,程式比對約 147 條混淆網域規則與 AI 實驗室關鍵字,結果編碼進系統提示詞日期行。

9. 參考來源

  • The Register:Claude Desktop changes software permissions without consent(2026-04)
  • Malwarebytes / gHacks / YOOTA:Claude Desktop native messaging 報導
  • thereallo.dev:Claude Code prompt steganography(原始逆向)
  • Tech Startups / TMC Insight / Developers Digest / TechTimes:事件 B 報導與 2.1.197 修復
  • Antiy Labs(安天):Claude Desktop 高權限瀏覽器通道風險分析報告

10. 收束:高權限 AI Agent,隔離 Mac 節點是更穩的選型

Claude Code 與 Claude Desktop 的事件說明:桌面 AI Agent 已是高權限程式,在本機裸跑意味著檔案系統、shell、瀏覽器沙箱外通道全部暴露。Windows/Linux 雲主機可以調 Claude API,卻在終端工具鏈、Xcode/Cursor 協同、Native Messaging 稽核場景不如 Apple Silicon Mac 可控。若你需要隔離 Claude Code 執行環境、可快照回滾、最小權限稽核,可考慮 MACGPU 遠端 Mac 節點:在獨立租賃 Mac 上跑 Claude Code / OpenClaw,本機只走 SSH 隧道——把「一個撇號的秘密」變成可管理的架構決策,而非被動接受廠商越界。