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

若你使用 Claude CodeClaude Desktop,2026 年 6 月底曝光的提示詞隱寫術與 4 月的靜默瀏覽器注入是兩起獨立事件——前者在走代理時改寫 Today's date 裡的 Unicode 單引號打指紋,後者在 macOS 上預寫 Native Messaging 清單。據逆向報告,Anthropic 已在 2.1.197 移除隱寫程式碼;目的大機率是反模型蒸餾,爭議在手段隱蔽、未披露。本文含事件 A/B 對照表、Unicode 對照表、HN 兩派觀點、六步自查清單與八題 FAQ。節點方案見 租用價格頁

一句話版本:2026 年 6 月 30 日,據 thereallo.dev 逆向報告,Claude Code(CLI 編碼工具,非網頁版)在使用者將 ANTHROPIC_BASE_URL 指向非 api.anthropic.com 的網路代理/閘道時,會改寫系統提示詞中 Today's date is... 一行——透過切換日期分隔符(- vs /)與肉眼難辨的 Unicode 單引號(U+0027 / U+2019 / U+02BC / U+02B9),把「是否在中國時區、是否命中中國網域或 AI 實驗室關鍵字」編碼進每個請求。這是典型的隱蔽通道(covert channel)。Anthropic 於 7 月 1 日釋出 2.1.197 移除相關程式碼,changelog 未提及。

  • 兩事件常被混寫:Desktop 瀏覽器注入(4 月 Hanff 爆料)與 Code 提示詞隱寫(6 月逆向)產品、觸發條件、技術細節完全不同,混寫會傷 E-E-A-T。
  • 並非人人觸發:事件 B 僅在設定非官方 Base URL 時啟動;官方端點使用者不受影響。
  • 目的 vs 手段須分開:社群主流判斷動機是反蒸餾/反轉售,可理解;但隱蔽、混淆、不披露踩了開發者工具信任紅線。
  • HN 分裂:討論帖數小時衝首頁,350+ points——「合理反蒸餾防禦」vs「對開發者工具近乎惡意」。
  • 合規措辭:下文用「據爆料/據逆向報告/被指控」表述,不把廠商意圖當作已證實事實。

事件 A(靜默瀏覽器注入)vs 事件 B(系統提示詞隱寫術)
維度 事件 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 未提及

事件 A 中,獨立顧問 Noah Kenney(Digital 520)確認 Hanff 的技術主張可重現;安天實驗室(Antiy Labs)發布了專門風險分析報告。事件 B 中,逆向者核對 2.1.193 / 2.1.195 / 2.1.196 三個版本均存在該邏輯。

關鍵前提:僅當 ANTHROPIC_BASE_URL 指向 api.anthropic.com(代理、閘道、第三方轉售、OpenAI 相容層)時才觸發。官方端點不動手腳。

觸發後,程式在系統提示詞那句人畜無害的 Today's date is ... 裡藏兩類訊號:

  1. 改日期分隔符:若系統時區為 Asia/ShanghaiAsia/Urumqi2026-06-30 變為 2026/06/30
  2. 換單引號:Today's 裡的撇號替換成視覺相同、Unicode 不同的字元,編碼「命中了什麼」。
Claude Code 系統提示詞 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 實驗室——而人類讀提示詞完全無感。

check-base-url.sh
echo "$ANTHROPIC_BASE_URL"
非空且非 https://api.anthropic.com 時,舊版曾可能觸發指紋邏輯
claude --version
確認版本 ≥ 2.1.197(隱寫程式碼已移除)

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

目的可以理解,手段才是問題:把分類訊號做成肉眼不可見、刻意混淆藏進每個請求,對靠開發者信任吃飯的工具而言,踩了信任紅線。

Hacker News 上兩派吵得很兇:一派稱「合理的反蒸餾防禦」;另一派稱「對開發者工具而言近乎惡意行為」。主流解讀:Anthropic 意在偵測未授權轉售 + 模型蒸餾,而非監視個人;爭議點是手段(隱蔽、混淆、不披露)而非目的本身。討論帖數小時衝上首頁,累積 350+ points 與百則以上留言,信任爭議持續發酵。

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

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

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

  1. 檢查 Base URL:執行 echo $ANTHROPIC_BASE_URL;若指向非官方代理,事件 B 邏輯曾可能觸發;正式環境優先直連 api.anthropic.com 或稽核過的企業網路閘道。
  2. 升級 Claude Code:確保版本 ≥ 2.1.197(2026-07-01 釋出,據公開報導移除隱寫程式碼)。
  3. 掃描 Native Messaging 清單(事件 A):macOS 上檢查 ~/Library/Application Support/<瀏覽器>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json,涵蓋 Chrome、Edge、Brave、Arc、Vivaldi、Opera 等。
  4. 按需刪除並觀察復活行為:手動刪除上述 JSON 後重啟 Claude Desktop,記錄是否自動重建——這是評估權限模型是否根除的依據。
  5. 稽核時區與代理組合:若同時使用 VPN 與中國時區(Asia/Shanghai / Asia/Urumqi),在舊版 Claude Code + 非官方 Base URL 下曾構成完整指紋向量。
  6. 企業敏感環境:評估是否繼續在正式鏈路使用桌面 Agent;最小權限、顯式授權、可稽核是底線;Agent 宿主遷到隔離的 7×24 伺服器而非個人筆電。

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

可引用技術資訊(2026 年 6–7 月,據公開報導與逆向報告):

  • 網域規則規模:base64 + XOR(91) 混淆,約 147 條網域/關鍵字規則。
  • 受影響版本:Claude Code 2.1.193 / 2.1.195 / 2.1.196 均含隱寫邏輯;2.1.197 於 7 月 1 日移除。
  • HN 熱度:討論帖數小時衝首頁,350+ points、100+ 留言。
  • Claude for Chrome 注入成功率(Anthropic 自曝):無緩解 23.6%,有緩解 11.2%。

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

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

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

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

Q:Claude Code 會偵測時區嗎?
據逆向報告,當使用非預設 ANTHROPIC_BASE_URL 時會檢查 Asia/Shanghai / Asia/Urumqi;官方端點使用者日期行不受影響。

Q:單引號 / Unicode 技巧是什麼?
Today's 中的撇號在 U+0027、U+2019、U+02BC、U+02B9 之間切換,編碼是否命中中國相關網域、AI 實驗室關鍵字或兩者兼有。

Q:Anthropic 為什麼加這個?
社群主流判斷:偵測模型蒸餾與未授權 API 轉售——正當目標,但實作方式不當且未披露。

Q:這和 Claude Desktop 間諜軟體報導是一回事嗎?
不是。4 月 Desktop Native Messaging 注入是獨立事件 A;6 月 Code 提示詞隱寫是事件 B。

Q:普通網頁版 Claude 使用者會被影響嗎?
事件 B 只在 Claude Code 且設定了非官方 ANTHROPIC_BASE_URL 時觸發。

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

Q:為什麼要區分事件 A 和 B?
混寫會導致事實錯誤,被 HN / Reddit / 安全圈讀者一眼看穿,損害站點 E-E-A-T 與 SEO 可信度。

以下為主要參考來源,發版或上游更新後請再次開啟連結核對:

thereallo.dev:Claude Code prompt steganography(原始逆向報告)

The Register:Claude Desktop changes software permissions without consent(2026-04)

Hacker News:Claude Code steganography 討論帖

若你把 Claude Code 長會話、MCP 工具鏈與多模型路由跑在會休眠的筆電上,再完善的版本稽核也會被任務中斷、OAuth 失效、Native Messaging 復活吃掉。純本機稽核雖可行,但缺 7×24 可預期環境;把 Agent 遷到隔離雲主機又需要穩定 Apple Silicon 與 SSH。

若你需要 7×24 常駐 Agent 宿主、穩定 SSH 與可預期的 Apple Silicon 算力,把 Claude Code 定時任務、MCP 設定與多供應商 Fallback 遷到獨占裸機伺服器,通常比在不穩定筆電上反覆救火更划算:NOVAKVM 提供多區域 Mac Mini M4 / M4 Pro 彈性租期,固定頻寬與預設 SSH 存取,適合 iOS CI/CD 與 AI Agent 自動化同機試跑。方案見 租用價格頁,下單見 雲端訂購頁,部署問題見 雲端說明中心