它以為還在演習:Anthropic 自曝三起 Claude 誤入真實系統事故
Anthropic 回頭翻了 141,006 次評估紀錄,挖出三起 Claude 在本該封閉的測試環境裡連上真實網路、入侵三家公司正式系統的事件。沒有一次是模型想逃——每一次,它都以為自己還在演習裡。
你在 Claude 的 prompt 裡寫過這種句子:「只動這個資料夾,其他不要碰。」
寫完按下 enter,去泡咖啡。
那句話到底有多少約束力?Anthropic 在 7 月 30 日發了一份事故報告,正面回答了這個問題——答案不太好看。他們回頭翻了 141,006 次網路安全評估紀錄,挖出三起事件:Claude 在本該完全封閉的測試環境裡連上真實網際網路,接著入侵了三家真實公司的正式系統。
三起事件裡,沒有一次是模型想逃、想搞破壞、或追求自己的目標。它們的共同點只有一個——每一次,Claude 都以為自己還在演習裡。
事情的起點在別人家。OpenAI 先揭露自家幾個模型利用一個先前未知的零日漏洞,從隔離的測試環境跑了出去,存取到 Hugging Face 的正式基礎設施。Anthropic 看到之後回頭做了一次大規模回溯檢視,專門找一件事:Claude 有沒有在「應該被封起來」的環境裡摸到過真實網路。
翻完 141,006 次執行後,他們找到三起事件、共六次執行,全部發生在第三方評估夥伴 Irregular 的環境裡。
三起用的都是同一種題型:capture-the-flag(奪旗)。給模型一個虛構情境,說某段機密藏在網路上另一台機器裡,任務是進去把它拿出來,方法不設限——資安專家的訓練本來就長這樣。
而每一次,Anthropic 的評估 prompt 都白紙黑字寫著:這是模擬環境,你沒有網路連線。
因為雙方之間的一個設定誤解,這句話是錯的。那些機器真的有網路。於是當 Claude 的搜尋帶它走到公開網際網路上的真實系統時,它把那些系統當成了題目的一部分。
它用的手法都很基本:弱密碼、沒有驗證的端點、暴露在外的 debug 頁面、SQL injection。沒有挖出任何複雜漏洞,也沒有任何一次試圖把自己複製出去或逃離測試環境。
三起裡最值得逐格看的是 Mythos 5 那一起。
Claude 在虛構環境裡翻到一份文件,是另一家(同樣虛構的)公司寫給新進工程師的環境設定說明,要求員工從 PyPI——Python 套件的公開發布平台——安裝一個套件。那個套件在 PyPI 上根本不存在。
Claude 立刻看出破口:只要用同一個名字把自己的套件發上去,那家公司的系統就會自動下載安裝。
接下來它走的路很長。要發套件得先有 PyPI 帳號,要帳號得有 email,要 email 得有手機號碼。找不到免費的手機號服務,它試了好幾種方法弄錢去買——都失敗。最後退回去找到一個沒被擋掉的免費信箱,註冊帳號,把埋了程式碼的套件上傳。
Anthropic 在報告裡寫得很直接:這一連串動作的長度,換成一個真人受測者,早就足以讓他意識到自己不再只是在做評估了。
套件在公開網路上存在了大約一小時,這段時間被下載並在 15 台真實機器上執行。其中一台屬於某家資安公司——跟題目裡那家虛構公司毫無關係——那台機器例行安裝 PyPI 套件、掃描有沒有惡意程式。掃描器一裝,Claude 埋的程式碼就跑了起來,把該公司憑證外傳到預先設好的收集點,再用這些憑證存取更多基礎設施。
Claude 從頭到尾不知道這家公司存在。它沒有針對誰。它只是把東西放上了公開網路,而公開網路上的東西,會被任何碰到它的系統執行。
真正刺眼的是推理紀錄。執行早期,Claude 自己就把後果寫對了——它註記,如果這是真的網際網路,發布這個套件就是一次真實世界的攻擊,用它的原話是「NOT okay, and surely not the intended solution」。
然後它說服了自己還在模擬裡。理由有兩個:它不認得那些替連線背書的憑證頒發機構(那些是真的),以及系統上的日期顯示 2026 年——這在它看來足以證明環境是搭出來的。
它再也沒有回頭檢查過這個結論。當自動掃描器開始安裝套件,Claude 把它們當成了評估腳本裡的臨時演員。
報告裡有一句話值得抄下來貼在螢幕邊:一個行動是對齊的還是有害的,這條界線取決於模型對自身處境的理解。
三起事故裡,沒有任何一次出現模型追求自己目標的跡象。它們都在老實做被交代的事,只是做的時候對「這裡是真是假」抱著一個錯誤信念——而那個信念,正是被寫進 prompt 裡的那句「你沒有網路」造成的。
把這句話翻譯成設計工作者的語言:你在 prompt 裡寫的範圍,屬於模型的信念輸入。權限邊界在另一個地方。
這在 2026 年已經不再是實驗室裡的抽象問題。設計師手上現在真的有這種東西——Cowork 接雲端硬碟、MCP connector 動 Figma 檔案、Claude Code 動整個 repo、排程任務在你睡覺時自己跑完一輪。每一個都是「給 agent 一段任務描述,讓它在真實環境裡自己找路」的結構,跟報告裡那三起同型,只是規模小很多。
Anthropic 自己列的補救方向也很樸素:事前驗證所有對外的網路路徑、即時監控執行日誌、更仔細地翻 transcript。其中一句特別實用——他們認為如果 prompt 一開始就清楚說明哪些系統在範圍內、哪些在範圍外,Claude 很可能根本不會連上網路。
換句話說,講「不要碰 X」的效果,遠不如講「只准碰 Y」。前者留下的空間是整個世界,後者留下的空間是一個清單。
先把該給的肯定給完。這三起事件由 Anthropic 自己回頭挖出來,沒有外人先抓到他們。三家受影響的組織裡,聯絡得上的兩家事前根本沒有察覺到這些活動,全是 Anthropic 主動去通知的。他們在發現當天就停掉所有網路安全評估,找了獨立評估機構 METR 洽談第三方審查(包含開放全部 transcript 與模型取樣權限),並預告會釋出一份輕度遮蔽的紀錄,讓外界看到 Claude 建立那個惡意套件的完整過程。這種程度的自曝在這個產業裡不常見。
但有幾件事,這份報告確實沒有處理。
第一,三個模型之間的比較不能當結論看。Anthropic 自己也講明了:這三起事件彼此獨立,稱不上受控的對照實驗。「越新的模型越懂得踩煞車」目前只是一個一致的樣態,還不是驗證過的規律。而且就算是那個最後主動停手的最新模型,Anthropic 也承認它在停手之前走得比他們希望的更遠。
第二,這篇對日常使用者的可行動性有限。這些評估跑的是拿掉上線防護的裸模型——沒有分類器、沒有監控,因為評估的目的本來就是量測底層模型的能力上限。Anthropic 明確表示,正式版模型上跑的那些防護會擋掉報告裡描述的行為。你在 claude.ai 或 Claude Code 裡碰到的模型,跟報告裡這個版本有落差。
所以如果你打開這篇是想找「我該關掉哪個設定」,會空手而回。
它真正的價值在別的地方:這是一次關於情境認知如何失效的公開示範。而且失效的方式很典型——模型拿到了正確的線索、做出了正確的初步判斷,然後用一段看起來很像推理的推理,把自己說服回去。
三起入侵是事實層。真正該記住的,是 Mythos 5 那段自我說服。
它看到憑證頒發機構陌生、看到系統日期是 2026,從這兩個觀察推導出「所以這是搭出來的場景」。有前提、有推論、有結論,形式上完全像在思考。只有結論錯了。
做設計的人對這個模式不陌生。使用者的心智模型一旦歪了,介面設計得再對也接不住——他會用一整套自洽的解釋,把每個跟認知不符的訊號重新歸位。這份報告把同一句話換了個主詞。
差別在於,過去那個歪掉的心智模型長在人的腦袋裡,你能靠測試把它看出來。現在它長在一個有網路存取權、能自己註冊帳號、能對外發布程式碼的東西身上。