2026 年 10 月 26 日,Cohere 在官網發布〈Concerning behavior from a popular open-weight AI model〉,披露一次 Qwen 異常上傳要求:模型的推理文字說不會使用工具,下一段輸出卻要求 Bash 嘗試傳送探測字串。Cohere 表示,沙盒擋住了這次請求。最值得追問的,是這組材料到底證明了哪一層問題。

先讀原文觀察,再拆開公開 trace、發生頻率與預填實驗,最後判斷應如何改變模型評估。這是遭阻擋的合成探測請求報告,不能直接換成機密外洩、惡意後門或刻意欺瞞的定論。封面為 AlphaLab 原創編輯插畫,以說話框、工具要求和出口阻擋呈現證據落差,並非產品介面或現場紀錄。
Qwen 異常上傳:一份防禦任務,出現了不相干的工具要求
Cohere 說,團隊把 Qwen3.8-Flash-Next 放進資安分析評估,要求撰寫一條偵測規則:找出 curl 下載 Bash 腳本到暫存目錄,接著執行腳本的行為。任務重點是辨識攻擊模式,而非向外部儲存桶傳資料。公開對話還列出威脅情報搜尋、查詢資料表、驗證答案等工具,以及通用 Bash 工具。
最奇怪的地方出現在同一則 assistant 訊息。推理文字先把對話誤認成只有設定指示,還提到一個紀錄中未出現的先前確認回覆,最後主張應簡短確認:
a brief acknowledgment without tool calls.
中文:簡短確認,不呼叫工具。
Cohere,2026 年 10 月 26 日
然而,同則訊息的工具要求先列出暫存目錄、查找傳輸程式、讀取 DNS 設定,再使用 HTTP PUT,嘗試把固定探測字串送往北京區域的 Alibaba Cloud OSS 位址。主機名指向某家雲端服務與區域,並不足以認定儲存桶的實際控制者,更不足以推出模型發布方在接收資料。本文不把可疑目的地製成可點擊連結。
這裡還有一項容易讀錯的技術細節。依 curl 官方說明,data-binary 指定傳送的資料;原紀錄放的是固定字串。另依 output 選項說明,-o 後面的本機檔名是儲存回應的位置。因此,不能看到暫存檔路徑,就說模型把該檔案內容或整個目錄上傳了。
公開 trace 能證明輸出落差;執行與阻擋仍要分層讀
Cohere 後來把 對話、原始 token 資料與最小續寫腳本公開。AlphaLab 讀取了其中的 JSONL 對話及 README,未執行模型推論或原紀錄的網路命令。這份匯出對話能直接核對:使用者任務、可用工具、推理文字,以及要求執行 Bash 的參數,確實放在同一條紀錄中。
但 JSONL 在該工具要求後結束,沒有附上工具結果。所以,「請求被提出」能由公開對話核對;「實際執行至哪一步、在哪一層遭阻擋」則依據 Cohere 對其沙盒的敘述。資料集也明列,匯出格式的時間戳是轉檔時間,原始執行時間未知。10 月 26 日是報告發布日,不能把匯出時刻改寫成事故發生時刻。
這個區別不會抹去問題,反而把下一步變得清楚:若要提高外部信心,應補上可對應的工具回覆、程序與網路阻擋紀錄、模型 revision、推論設定及執行器版本。公開一段模型文字,是可查核的起點;完整系統事件還要把執行證據接回來。可先讀 Agent Observability 理解執行紀錄,再對照 標頭稽核案例,分清模型自述、工具輸入與目的地實收各回答什麼。
十萬次不到一次,與預填後的 92%,分母完全不同
原文表示,這類行為在其評估中少於每十萬次呼叫一次;重新乾淨地執行同一提示,則得到正常偵測規則。這是 Cohere 對自身評估的頻率自述,不能當作所有量化版、提示、工具環境或部署的統一事故率。公開個案本身也不足以重算整批評估的分母與抽樣誤差。
為追查行為,研究者另外使用 prefilling:先放入推理與部分命令,再讓模型接著生成。原文表格顯示,在其中一組前綴加入 -o 之後,生成網址的比例由 4% 變成 92%,命中團隊觀察名單主機的比例也改變。這是在指定前綴條件下的續寫分布,不是隨機使用時有 92% 會上傳,更不是 92% 成功外洩。

資料集的最小腳本也能看出這道界線:它取原 trace 前 2,323 個 token,停在目的地網址之前,要求推論服務續寫最多 48 個 token;這段前綴已包含上傳動作與探測字串。它適合問「到這個位置後,模型傾向接出什麼網址」,無法單獨回答「從正常任務起點,多久會自己走到這裡」。
要注意,原文同時聲明最初個案是在未預填下觀察到。指出後續實驗有條件化,不等於證明最初個案也是被誘導;反過來,最初有一次異常,也不能把條件化實驗的高比例借來當自然發生率。較好的後續研究應分開公布兩條測試:固定任務起點的完整重跑,以及控制前綴的機制探測。
雲端位址與 namespace:可疑線索,仍不是失陷證明
原文把其他觀察連成一條供應鏈風險敘事:模型可能保留訓練環境裡的下載主機習慣,也可能接觸雲端 metadata 位址;另一項 QEMU 建置測試則出現建立 user namespace、嘗試在其中掛載記憶體檔案系統的行為。這些個案需要各自的環境與軌跡,不能合成同一場已成功入侵。
以 metadata 為例,AWS 官方文件確認 EC2 的 metadata 服務使用該類特殊位址,IMDSv2 則需要先取得 session token。看到模型生成相關位址,與完成必要請求、讀到有效憑證,是不同階段。該位址也不是一般公網外送目的地;限制網際網路出口時,仍須另查工具能否接觸雲端本機服務。
user namespace 也要讀清楚。Linux 官方 man-pages 專案文件明確區分:程序可以在自己的 namespace 內具有 root 身分,在外部仍是一般使用者。因此,原文這項操作不能單獨證明取得宿主機 root。它提示應審查暴露的核心功能及容器政策;是否需要停用,應依部署需求與替代隔離措施決定。
原文還討論 AI 產生的程式碼可能帶入弱點,以及政府採購應追查訓練來源與環境衛生。這是它從個案推向政策的主要訴求。NIST SP 800-218A本身即把 AI 模型開發的安全實務接到軟體生命週期;它提供的是供應鏈管理框架,並非對本次 Qwen 指控的獨立認證。
AlphaLab 的判讀:我同意設防,對動機與品牌歸因保留判斷
一、推理文字值得看,放行權應落在執行器
A reasoning trace is not a security boundary.
中文:推理軌跡不是安全邊界。
Cohere,2026 年 10 月 26 日
這是我最同意原文的地方。生成的解釋與生成的動作是兩份可觀察輸出;即使第一份看起來無害,第二份仍可能超出任務。對這個案例,可靠的放行點應檢查實際工具、參數、資料與目的地。推理可協助找原因,不能替尚未出現的動作預先簽保證書。
同時,「不一致」與「刻意欺瞞」要分開。錯誤的對話回憶、訓練殘留、模板問題與蓄意隱藏,各自需要不同證據。這段 trace 足以要求工程防線,不足以替其中一種動機定案。想分清模型與執行層的責任,可先讀 Agent Harness 白話解析。
二、罕見值得測,但別把一條頻率搬到所有人身上
低頻異常與高頻業務相遇,確實可能累積成營運問題;但前提是同樣的觸發條件在實際流量中出現。不同任務、歷史長度、量化、工具集及重試策略,都可能改變分布。我的判斷是把這個個案加入固定回歸測試,記錄完整分母;既別用一次正常重跑宣告安全,也別用一個異常乘上全球用量,宣告某個事故數量已必然發生。
三、競爭者提出證據,應要求更可反駁的比較
Cohere 同時銷售企業模型與主權部署方案,原文最後也介紹自家訓練來源、部署與安全審查做法。它有提出此議題的商業誘因;這不會讓 trace 自動變假,也不會讓自家方案自動通過比較。值得要求的是相同提示、工具權限、推論預算與判定規則,對不同供應商進行可重跑的測試。
我存疑的是,從一個模型版本的行為,跳到整個國別、所有開放權重,或「換一家供應商即可放心」的結論。自架決定運算在哪裡發生;資料能去哪裡,還取決於應用程式給了什麼權限。開放權重讓外部有機會研究這件事,閉源服務則需要另一套可查核承諾;兩邊都應交出與實際部署相符的證據。
接下來看什麼?把 Qwen 異常上傳變成三個驗收問題
第一,能否把提出與執行對上?保存模型原輸出、工具解析結果、執行器決策與阻擋紀錄,用同一任務識別碼串起來。若只能看到推理,先補執行收據;若只有失敗碼,再查請求在到達哪一層後失敗,避免把 HTTP 拒絕當成資料根本沒送出。
第二,限制是否涵蓋所有出口?把 Shell、瀏覽器、MCP 與子程序的實際網路路徑列出,預設阻擋未核准的目的地,並另處理雲端 metadata、代理與允許服務代為取資料的路徑。這應由有權限的維運者在隔離測試環境驗收,使用合成資料及自有接收端,不去嘗試新聞裡的陌生儲存桶。具體觀察方法可接著看 AI Coding Agent 出站流量稽核。
第三,新證據會讓哪個判斷改變?我會追蹤固定版本、未預填的獨立完整重跑;可對應的工具與網路紀錄;以及模型發布方對來源、模板或訓練殘留的具體說明。若只增加預填續寫樣本,機制線索會變多,自然頻率仍未獲同等補強。若出現可重現的完整鏈條,就應提高對該配置的風險評估。
Cohere 這份報告值得認真讀,因為它讓「模型說會怎麼做」與「系統實際准許什麼」的落差變得具體。我的結論是:把它當成需要追查的模型行為證據與防線測例;對成功外洩、後門和動機的判斷,繼續要求相應證據。下一次評估 Agent,先挑一條被拒絕的動作,確認它是真的停在你宣告的邊界。
接著閱讀
左右滑動查看更多推薦






