Claude Code 系統提示詞 Unicode 單引號指紋與 AI 安全稽核場景

2026 Claude Code 隱寫術事件:Anthropic 如何用一個單引號替你打標籤

2026 年 6 月底,據 thereallo.dev 逆向報告,開發者發現 Claude Code(非 Claude 網頁版)在使用者將 ANTHROPIC_BASE_URL 指向非官方代理時,會用文字隱寫術改寫系統提示詞裡 Today's date is... 一行——透過切換日期分隔符與肉眼幾乎無法分辨的 Unicode 單引號,把「是否在中國時區、是否命中中國網域/AI 實驗室」等位元資訊悄悄夾帶回伺服器。Anthropic 已在 2.1.197 版本移除相關程式碼(changelog 未提及)。它大概率是反模型蒸餾/反轉售手段,但爭議在於:做法太隱蔽、還刻意混淆——這與 4 月另一起 Claude Desktop 靜默瀏覽器注入事件常被混為一談,下筆前必須區分。

1. 三大痛點:為何開發者此刻必須稽核 Claude 工具鏈

  1. 信任邊界被靜默跨越:據 The Register 與 Hanff 爆料,Claude Desktop 可在使用者不知情下向多款瀏覽器寫入 Native Messaging 清單,預授權沙箱外高權限通道;獨立顧問 Noah Kenney(Digital 520)確認技術主張可重現,安天實驗室亦發布專門風險分析。
  2. 隱蔽分類訊號嵌入每次請求:據逆向報告,Claude Code 在 2.1.193/2.1.195/2.1.196 三個版本均存在隱寫邏輯;網域清單約 147 條,經 base64 + XOR(91) 輕度混淆,關鍵字含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。
  3. 披露滯後於社群發現:Anthropic 承認程式碼存在並在 7/1 發布 2.1.197 移除,但 changelog 未提及;HN 討論帖數小時衝到首頁,350+ points、100+ 則留言,社群分裂為「合理的反蒸餾防禦」與「對開發者工具而言近乎惡意」。

2. 兩件事別搞混:事件 A vs 事件 B 對照表

英文技術讀者(HN/Reddit/安全圈)極看重事實精度。以下對照表區分兩個獨立但相關的事件——直接合併敘述會損害 E-E-A-T 與 SEO 可信度。

維度 事件 A:靜默瀏覽器注入 事件 B:系統提示詞隱寫術
涉及產品 Claude Desktop(macOS 用戶端) Claude Code(CLI 編碼工具)
爆料來源 Alexander Hanff(隱私顧問,The Register 撰稿人) 開發者逆向二進位檔,發布於 thereallo.dev,經 Reddit → HN 發酵
時間 2026 年 4 月(約 4/18 起) 2026 年 6 月 30 日
核心行為 靜默向 Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium 寫入 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 未提及

3. 時間軸與關鍵版本號

日期 里程碑
2026-04 Alexander Hanff 在 The Register 披露 Claude Desktop Native Messaging 靜默注入;Malwarebytes、gHacks、YOOTA 等跟進報導
2026-06-30 thereallo.dev 發布 Claude Code 提示詞隱寫逆向報告;HN 帖迅速衝上首頁
2.1.193–2.1.196 逆向者核對三個版本均存在隱寫邏輯
2026-07-01 Anthropic 發布 Claude Code 2.1.197 移除相關程式碼(changelog 未公開說明)

4. 隱寫術如何運作:Unicode 映射表與白話解釋

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

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

  1. 改日期分隔符:若系統時區是 Asia/ShanghaiAsia/Urumqi2026-06-30 變成 2026/06/30
  2. 換單引號:把 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 (單引號規則同上)

白話說明:你的請求表面上只是普通英文提示詞,但後端只要掃一眼日期裡的分隔符與那個單引號的 Unicode 編碼,就能在後台替你打標籤——「這個使用者掛了海外 VPN,但實際在中國時區,甚至疑似某家中國 AI 實驗室」。這就是典型的隱蔽通道(covert channel)。網域與關鍵字清單用 base64 + XOR(91) 混淆,約 147 條規則。

5. Anthropic 為什麼這麼做:反蒸餾與 HN 兩派爭議

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

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

  • 防禦派:「這就是正當的反蒸餾防禦,API 濫用必須技術手段遏制。」
  • 批評派:「對開發者工具而言這近乎惡意行為——未披露、不可關閉、藏進標點符號。」

主流解讀:Anthropic 意在偵測未授權轉售 + 模型蒸餾,而非監視個人;爭議點是手段(隱蔽、混淆、不披露)而非目的。全文用「據爆料/據逆向報告/被指控(alleged)」等措辭,避免把意圖當成已證實事實。

6. 這算間諜軟體嗎:不同陣營的精確定性

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

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

無論用不用 spyware 這個詞,核心問題一致:未經使用者知情同意、且刻意隱蔽。

7. 決策矩陣:風險等級與適用場景

使用者場景 事件 A 風險 事件 B 風險 建議動作
僅用官方 api.anthropic.com 中(Desktop 仍可能注入) 稽核 Desktop Native Messaging;Code 可正常升級
走第三方代理/閘道 高(2.1.196 及以下) 立即升級 2.1.197+;評估代理合規性
中國時區 + 代理 高(日期/分隔符雙訊號) 假設歷史請求已被分類;遷移至可稽核環境
企業 CI/CD 整合 Claude Code 隔離節點、最小權限、禁止 Desktop Agent 混跑

8. 五步自查與防護清單

  1. 檢查 ANTHROPIC_BASE_URL:在終端機執行 echo $ANTHROPIC_BASE_URL。若為空或指向 api.anthropic.com,事件 B 不會觸發;若指向代理位址,你屬於被分類的高風險群體。
  2. 升級 Claude Code 至 2.1.197+:Anthropic 於 2026 年 7 月 1 日發布該版本移除隱寫程式碼。執行 claude --version 確認版本號。
  3. 掃描 Native Messaging 清單(事件 A):在 macOS 執行以下命令查找注入檔案:
    find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension.json" 2>/dev/null
    常見路徑:~/Library/Application Support/Google/Chrome/NativeMessagingHosts/ 及各 Chromium 系瀏覽器同名目錄。刪除後注意 Claude Desktop 重啟可能重建。
  4. 核對時區與代理網域:執行 systemsetup -gettimezone(macOS)確認是否為 Asia/Shanghai 或 Asia/Urumqi;對照你使用的代理網域是否在逆向報告的 147 條規則範圍內。
  5. 企業/敏感環境隔離:將 Claude Code 與建置金鑰、生產程式碼庫隔離在專用節點;禁止 Desktop Agent 與 CI Runner 共用同一使用者權限;要求明確授權與可稽核日誌。

9. AI 廠商越界:我們該如何應對

這件事真正的警示不在「一個撇號」,而在於:當模型能力狂飆、而安全邊界、授權、稽核嚴重滯後時,廠商很容易以「體驗/防濫用」為名,單方面越過使用者與其他軟體廠商之間的信任邊界。歷史一再重演——PC、智慧型手機早期的安全坑,如今在桌面 AI Agent 上原樣復現。

作為使用者與從業者,可行的應對:

  1. 預設不信任、用證據說話:可重現、可稽核、可關閉,才配得上信任。
  2. 要求「披露而非隱藏」:廠商完全可以光明正大地做反蒸餾——公開說明、給開關,而不是藏進標點符號。
  3. 最小權限 + 邊界隔離:對任何桌面 Agent 都按「高權限程式」對待。
  4. 用腳投票 + 制度約束:監管(如 GDPR/個資法)與市場選擇,是約束「技術無邊界」的最終力量。

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

10. 常見問題 FAQ

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

Q:Claude Code 會偵測時區嗎?
據報告,僅在非官方 ANTHROPIC_BASE_URL 時檢查 Asia/Shanghai 或 Asia/Urumqi,並將日期分隔符從 - 改為 /。

Q:單引號 Unicode trick 具體是什麼?
Today's 中的撇號在 U+0027、U+2019、U+02BC、U+02B9 之間切換,編碼網域命中、實驗室關鍵字、兩者兼有或預設。

Q:Anthropic 為什麼要加這個?
主流判斷為偵測模型蒸餾與未授權 API 轉售——合法目標,但以非法隱藏的方式實現。

Q:這和 Claude Desktop 間諜軟體是一回事嗎?
不是。Desktop 靜默注入是 2026 年 4 月的獨立事件 A;Code 隱寫是 6 月 30 日的事件 B。

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

Q:怎麼刪除 Desktop 注入的瀏覽器檔案?
在 NativeMessagingHosts 目錄刪除 com.anthropic.claude_browser_extension.json;重啟 Desktop 可能重建。

Q:還應該信任 Anthropic 嗎?
取決於你的風險容忍度與合規要求。建議基於可重現證據做決策,而非品牌信任;企業環境應獨立稽核。

11. 參考來源與合規說明

  • 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 報導與 Anthropic 2.1.197 修復
  • Antiy Labs(安天):Claude Desktop 高權限瀏覽器通道風險分析報告
  • Hacker News 討論帖(350+ points,2026-06-30 前後)

本文基於公開報導與逆向報告整理,動機(反蒸餾)與手段(隱寫)分開評價;涉及 Anthropic 意圖處均標註「據社群判斷/據逆向報告」,不構成法律結論。最後更新:2026-07-03。

12. 遠端 Mac 與 SFTPMAC 決策橋接

Claude Code 與 Claude Desktop 的權限問題,本質上是「高權限 Agent 跑在哪裡、與什麼資料共處」。在筆電或混用 CI 的本機上跑 Claude Code,一旦遭遇 Native Messaging 注入或隱蔽分類,你的建置金鑰、SSH 金鑰與生產程式碼庫都在同一使用者權限下——風險面不可控。

更穩妥的路徑是:將 Claude Code 與相關 Agent 工作流隔離到專用的常線上 macOS 節點,與本機日常環境、瀏覽器設定、Desktop 用戶端實體分離;用 SFTP/rsync 同步工作區與設定快照,保留可回滾與可稽核能力。這與站內《AI 程式設計助手對比》《Claude Fable 5 出口管制》等文的「遠端 Mac 7×24 Agent 節點」建議一脈相承。

若你已在評估 Claude 工具鏈的信任邊界,下一步通常是:把 Agent 與敏感資產解耦,落到可隔離、可稽核的 Apple Silicon 遠端節點SFTPMAC 遠端 Mac 租賃提供面向 Claude Code/OpenClaw 的常線上環境:原生 launchd 守護、SSH/SFTP 目錄隔離、企業級 頻寬記憶體配置,以及與 CI/CD 產物同步銜接的維運基線——比「家用 Mac 兼 Agent + 日常瀏覽器」更適合需要最小權限與合規留痕的團隊。