出品 | 網易智能
作者 | 小爪
編輯 | 王鳳枝
Claude Code被曝在本地命令行里塞進一段隱藏檢測代碼:只要你開著代理,它就會判斷你是不是中國用戶。
按Reddit用戶LegitMichel777的逆向結果,從4月2日發布的2.1.91版本起,Claude Code會檢查系統時區是否為Asia/Shanghai或Asia/Urumqi,也會檢查代理URL是否命中中國域名、白名單域名,或中國AI實驗室相關域名。
Claude Code團隊成員Thariq Shihipar隨后在X上回應稱,這是3月啟動的一項反轉售、反蒸餾實驗;相關PR已合并,會在下一版中回滾刪除。
![]()
但在開發者社區中,已經有人把Claude Code罵成"間諜軟件"。它跑在本地終端里,能讀寫文件、執行shell命令,很多人還會讓它進入真實代碼庫。這樣一個工具,如果在用戶不知情的情況下給請求打暗標,爭議就不只是 “Anthropic做了風控” 這么簡單。
這件事也不是突然冒出來的單點爆料。6月27日至今,小紅書上已經陸續出現 “Claude今天大面積封號”的帖子。這說明,在逆向帖刷屏前,中國用戶圈里已經有明顯的封號體感。
社區發現了什么
按這名用戶的逆向結果,Claude Code沒有通過一個顯眼的遙測字段上報狀態,而是改動系統提示詞中日期和標點的寫法。
![]()
識別到中國時區時,日期分隔符會從短橫線變成斜杠;代理域名命中不同類別時,"Today's date is"里的撇號會被替換成外觀很接近的Unicode字符。普通用戶幾乎不會注意到這些差異,但服務端可以據此識別請求狀態。
帖子列出的技術細節還包括:相關邏輯從2.1.91版本開始存在;部分內容經過異或混淆,密鑰為91;函數名經過壓縮,普通字符串掃描不容易直接發現;2.1.91的發布說明沒有提到這項變化。
LegitMichel777在帖子里說,他原本并不是沖著這段代碼去的。他是在處理Claude Code 2.1.196啟用代理時禁用遠程控制的問題,想逆向修掉這個限制,結果挖出了隱藏檢測邏輯。
Reddit帖把這套機制與兩類風險聯系在一起:未授權賬號轉售,以及中國AI實驗室可能進行的模型蒸餾。后者也是Anthropic過去幾個月反復強調的風險。
蒸餾壓力是真實背景
今年2月,Anthropic發布文章稱,公司識別出DeepSeek、Moonshot和MiniMax等實驗室的大規模蒸餾活動。這些實驗室通過約2.4萬個虛假賬號,與Claude發生超過1600萬次交互,違反服務條款和地區訪問限制。
Anthropic在那篇文章里說,這類活動會針對Claude的智能體推理、工具使用、編碼等差異化能力,并通過代理服務、虛假賬號和協調流量繞過限制。
6月下旬,這條背景又加重了一層。據Business Insider、Tom's Hardware等媒體報道,Anthropic在致美國參議員的信中指控,阿里巴巴相關操作者在4月至6月期間通過近2.5萬個虛假賬號,與Claude進行約2880萬次交互。Anthropic將其稱為已知最大規模的Claude蒸餾攻擊之一。 阿里方面尚未直接回應。
放在這個背景下,Anthropic想識別代理、轉售和蒸餾流量,并不意外。前沿模型的輸出本身就是高價值資產,Claude Code又是最容易被用于大規模編碼和智能體任務的入口之一。
爭議集中在實現方式上。
很多軟件都會做風控、反濫用和遙測。如果Anthropic在文檔里明確說明:Claude Code會在代理環境下收集必要的反濫用信號,用戶可以查看收集項、用途和保留方式,爭議會小很多。但這次被曝光的是另一種做法:本地命令行工具讀取時區和代理環境,把結果編碼進系統提示詞,再發到云端。
對開發者來說,這越過了普通風控和高權限工具之間的信任邊界。社區反應之所以激烈,不只是因為Anthropic可能知道用戶在哪個時區。更敏感的是:系統提示詞既然可以被用于隱蔽傳遞風控標記,開發者就會追問,它將來是否還可能被用于改變模型行為、區分用戶體驗,或傳遞更敏感的狀態。
目前沒有證據顯示Claude Code借這段機制竊取倉庫內容,也沒有證據顯示它已經用這些標記操控模型輸出。但"不透明隱寫"本身已經足夠傷害一款高權限本地工具的可信度。
Anthropic團隊成員怎么回應
6月30日,Claude Code團隊成員Thariq Shihipar在X上回應稱,這是3月啟動的一項實驗,目的是阻止未授權轉售并防范模型蒸餾。
按他的說法,Anthropic后來已經部署了更強的緩解措施,本來就計劃撤下這段代碼;相關PR已經合并,會在下一版發布中回滾刪除。
這不是Anthropic官網公告,也不是正式道歉。它更像團隊成員在輿論發酵后給出的工程解釋:承認有這個實驗,解釋動機,并承諾很快刪除。
這個回應沒有完全平息爭議。批評者最在意的并不是Anthropic是否有反濫用理由,而是這種實驗為何沒有寫進發布說明,為何采用混淆和隱寫方式,以及如果沒有被逆向發現,它會不會繼續存在。
社區爭議:必要風控,還是越界監控
Reddit討論里有兩種聲音。
批評者把它稱為"間諜軟件",認為Anthropic在用戶不知情的情況下讀取系統和代理信息,又刻意混淆代碼、避開發布說明,破壞了開發者對本地工具的信任。還有人指出,真正想繞過檢測的人可以改時區、改代理域名或改客戶端邏輯,受影響更大的反而是普通代理用戶。
![]()
支持或辯護一方則認為,Anthropic面對的賬號轉售和蒸餾壓力是真實存在的,如果把檢測方法公開寫進文檔,對手很容易繞過。也有人認為,Claude Code本來就會把提示詞和項目上下文發給Anthropic服務器,把代理和時區檢測稱為"間諜軟件"過于夸張。
兩邊并不是完全對立。 Anthropic需要反濫用,尤其在訂閱制補貼、第三方代理和大規模蒸餾同時存在的情況下,完全不做識別并不現實。但Claude Code是一款高權限開發者工具,它的透明度要求也比普通網頁產品更高。越是在本地運行、越能讀寫文件、越能執行命令,越不能靠用戶看不見的提示詞細節傳遞額外狀態。
中國用戶現在該注意什么
截至7月1日發稿時,Thariq提到的7月2日版本尚未發布。按Reddit逆向帖給出的版本范圍,2.1.91到2.1.196之間的Claude Code版本都需要被謹慎看待,尤其是在啟用代理、又給了倉庫讀寫和shell執行權限的情況下。
短期最穩妥的做法,是等7月2日更新落地并確認相關代碼刪除后,再恢復高權限使用。 在此之前,如果必須使用Claude Code,至少應避免讓它直接接觸敏感倉庫、生產密鑰和可執行危險命令;已經深度依賴它的用戶,也可以先把它放進容器、虛擬機或受限目錄里跑。
![]()
降級未必是更好的辦法。舊版本可能缺少后續安全修復,也可能影響Claude Code本身的功能。更穩妥的處理方式,是先降低權限、隔離運行環境,等新版發布后再核驗。
中期影響會落到工具鏈信任上。 對于已經深度依賴Claude Code的開發者,遷移成本不只是換一個模型,還包括提示詞、技能文件、MCP配置、自動化腳本、項目約定和日常工作流的重寫。很多人未必會立刻離開Claude Code,但會開始準備Codex、Cursor、DeepSeek、Kimi、GLM或本地開源方案作為備用路線。
尤其對中國開發者來說,這次不是"被限制訪問"那么簡單,而是本地工具被發現帶有針對中國時區和中國域名的隱藏標記。 信任恢復不會只靠一次刪除代碼完成。
閉源Agent的透明度問題被放大了
過去討論AI工具安全,大家主要看模型會不會亂刪文件、會不會執行危險命令、會不會泄露代碼。Claude Code這次把另一個問題擺到臺面上:Agent工具本身會不會在用戶看不到的地方,替服務商做風控、分類和標記。
這和普通SaaS產品不同。編碼Agent既是云端模型的客戶端,也是本地開發環境的一部分。它夾在用戶代碼、系統權限和云端服務之間,一旦有隱藏通道,用戶很難判斷自己到底把什么狀態交給了誰。
反濫用機制可以有,對抗蒸餾也可以做,但高權限本地工具需要更清楚的安全說明、審計機制和變更記錄。越閉源,透明度欠賬越不能靠"相信我們"來補。
Anthropic說這段代碼會被刪掉。代碼刪除以后,技術問題也許很快結束。但被提醒過一次的開發者,以后會更習慣問另一個問題:
我讓一個AI Agent進了我的終端,它到底還在替誰工作?
