多個模型互相投票,是否能降低單一模型判斷錯誤?投票不等於獨立驗證,還要看結果能呼叫哪些能力、誰限制並記錄操作。Cisco Talos 分析的 CLOSEDQUORUM 惡意程式,將模型回覆接進預先定義的行動流程。Talos 尚未確認該樣本已在真實攻擊中部署。

一、CLOSEDQUORUM 惡意程式如何用多模型協作投票?

依 Cisco Talos 對樣本的靜態分析,程式會依序詢問最多四家模型服務,再統計各模型選擇的預設行動,由得票最高的選項交給程式既有處理模組執行。

四家模型依序回覆,程式統計選項並處理平票

Talos 指出,CLOSEDQUORUM 的模型協調器可連接 DeepSeek、Qwen、Mistral 與 Google Gemini。程式把執行主機的系統資訊放進提示,接著逐一送出請求,彙整回覆中的決策欄位,再採多數票選出行動。若票數相同,程式依固定的模型優先順序決定結果。

投票只在程式預先定義的選項中產生選擇,不會自行建立新的工具或攻擊流程。存取憑證、注入程序或建立持續執行機制,仍須由樣本內對應的處理模組執行;某項選項若沒有可用模組,就不會因模型提到它而自動出現該能力。這個差異對防守方很實用:審查代理時要追到「輸出如何映射到程式分支」,再逐個確認分支實際能做什麼,而不能只讀模型提示詞或輸出的自然語言。

模型選擇的是預設能力,不是自行建立完整攻擊流程

Talos 說明,模型必須依指定的 JSON(資料交換格式)回覆,且決策欄位要符合程式認得的選項;格式錯誤或選項不符,回覆就會被丟棄。樣本列出的選擇包括竊取資料、程序注入與持續執行等能力。公開散布版本中的「move」選項沒有對應處理模組,因此不能把模型提出的所有意圖都當成程式實際做得到的事。

這是受限制的決策空間。設計 AI 代理時,應確認模型輸出能否直接呼叫工具、改寫資料或觸發外部服務。實作上可將模型回覆視為不可信的請求,由執行端解析允許的動作名稱與參數,再以任務身分檢查目標資源。若回覆欄位缺漏、格式錯誤、超出允許清單或要求的資料範圍過大,執行端應拒絕操作並留下原因,而非嘗試猜測模型原意。這會把模型的不確定性限制在建議層,避免它直接取得執行權。

二、投票機制的安全邊界在哪裡?

不能只憑模型數量推論安全性。投票不等於獨立驗證;影響仍取決於執行身分、工具範圍與程式權限。

多數決不代表獨立驗證或安全共識

從一般系統設計風險來看,多個模型可能使用相似資料或安全限制,對同一輸入產生相近錯誤;即使供應商不同,看到相同主機資訊與提示也不代表判斷彼此獨立。這是對多模型架構的風險推論,並非 Talos 對 CLOSEDQUORUM 的實測結論。

CLOSEDQUORUM 依固定順序處理平票;平票時的固定優先順序會讓特定模型取得決定權,不能視為無偏的平手處理。使用多家模型服務前,應確認服務條款與資料處理方式。資料保留期限會影響提示與回覆在服務端留存多久;訓練用途則關係到送出的內容是否可能被用於後續模型改進;第三方處理條件還要確認哪些服務商或子處理者能接觸資料。這些條款會改變機密資訊可否送往模型服務的判斷,不能只以傳輸加密作為依據。

實務盤點可先按資料敏感度分層:公開資訊、內部一般資料、受契約保護資料,以及個資或憑證等高敏感資料。每一層分別列出可用的模型服務、允許送出的欄位、遮罩規則與核准角色。像主機名稱、使用者名稱、檔案路徑及錯誤訊息看似不是機密,組合後仍可能暴露組織結構或系統弱點。提示組裝時可先移除不影響任務的欄位,憑證則應由受控執行環境注入,不放進提示、模型回覆或一般日誌。

多家服務也增加供應商治理工作。團隊需有服務清單、用途、資料流向、憑證負責人及停用方式,並確認各服務的區域、保留設定與合約條款符合組織要求。若服務政策或可用性改變,代理應能切換到人工處理或停止任務,而不是自動把同一份敏感提示改送到尚未審查的替代端點。API(應用程式介面)憑證應採獨立、限權、可撤銷的配置,並監看異常呼叫量與來源;不應讓不同任務共用長期且高權限的金鑰。

Cisco Talos 對樣本的分析顯示,模型服務提供回覆不代表程式必然取得可用決策;回覆仍須符合程式預期的格式與選項。

公開樣本的金鑰與網路回呼(webhook)是佔位值,實際部署尚未確認

Talos 透過二進位檔靜態分析重建樣本的決策流程與程式分支;研究團隊另指出,公開散布版本使用佔位 API 金鑰與假 webhook(網路回呼)。這些佔位憑證與端點使完整端到端執行無法確認,研究團隊也未確認 CLOSEDQUORUM 已在真實環境部署。因此,靜態分析所確認的是程式設計與能力分支,不代表公開版本已成功連線服務、竊取資料或感染受害者。

因此,樣本可用來檢查模型投票接入程式能力的架構風險,不能據此宣稱它已大規模感染,也不能推論所有多模型代理都有相同行為。靜態分析可以指出程式碼中存在哪些分支,卻不能單獨證明每個分支在真實主機上都成功執行。對企業來說,這代表威脅模型要區分「能力存在」「執行條件成立」與「事件已發生」三種證據層級。告警與通報用語也應對應證據,不把可疑行為、樣本功能與已確認入侵混成同一結論。

左右兩欄分別列出靜態分析確認的程式流程與能力分支,以及尚未確認的完整執行和實際部署
程式中存在能力分支,不等於公開樣本已成功執行或曾在真實環境部署。

三、AI 代理設計如何限制決策造成的影響?

依任務縮小代理能讀取的資料、可呼叫的工具與允許的動作,並讓高影響操作在執行前經過核准;模型投票不能取代權限檢查。

依任務縮小資料、工具與操作權限

為代理設定專用身分,不沿用管理員帳號或個人長期憑證。依最小必要原則預設關閉非必要權限,並按任務階段重新評估;探索型或動態任務應採限時授權,任務結束後撤銷憑證與存取權。權限範圍應同時落在資料、操作與時間三個面向。若任務需要新增權限,應由負責人提出變更、說明用途並留下核准紀錄,不宜讓模型自行擴大可用範圍。

工具執行端也要再次檢查權限,不能只靠提示詞約束模型。例如摘要代理可讀取指定資料夾,但不必能刪檔或寄信;即使模型誤判,工具仍應拒絕未授權操作。驗證時不要只檢查設定檔上寫了哪些權限,應以代理實際使用的身分呼叫工具:讀取允許的測試檔、嘗試讀取範圍外檔案、嘗試刪除或修改資料,並確認前者成功而後者被執行端拒絕。拒絕事件要包含身分、目標、動作與時間,方便追查權限是否在所有工具入口一致生效。

還要檢查權限繼承與間接路徑。代理即使沒有刪除權,若能呼叫另一個具刪除權的工作流程,仍可能透過轉交工作完成相同效果;讀取權也可能經由搜尋、摘要或匯出工具擴大到未授權資料。盤點時應沿著代理可呼叫的工具鏈逐段檢查執行身分、參數限制及回傳資料,並確認工具無法藉由任意路徑、URL 或資源識別碼越界。權限測試需涵蓋正常呼叫、錯誤參數、過期授權與撤權後的再次呼叫。

將高影響操作設為核准關卡,並保留中止與復原能力

對外傳送資料、變更正式環境、刪除內容、調整權限或產生費用前,應設人工核准,並呈現操作對象、使用資料與可能影響。低風險且可逆的工作才考慮在明確邊界內自動執行。

另設工具呼叫次數、資料量或執行時間上限;出現異常外連或超出任務範圍時暫停並撤銷權杖。正式資料須可還原,避免錯誤操作擴大。核准介面應展示具體動作,而非只顯示「是否繼續」:例如收件對象、即將傳送的欄位、修改的紀錄數量、執行環境及復原方式。若核准內容在送出後改變,或模型再次呼叫工具修改目標,原核准就不應沿用。核准者需要能拒絕、要求縮小範圍,並知道拒絕後任務會停止或轉交人工。

停止機制必須在模型服務不可用或模型持續重試時仍可運作。可由執行端設總時限、最大重試次數及全域停止開關;停止後應取消佇列中的工作、撤銷短期憑證、關閉未完成連線,並保留已發生的操作紀錄。對資料變更建立版本或快照,先在副本演練還原,再決定是否允許代理接觸正式資料。只驗證「可以按停止」不足以證明可復原,還要確認停止後沒有背景工作繼續執行。

Cisco Talos 的分析指出,CLOSEDQUORUM 只接受程式預先定義且有對應處理模組的選項,模型輸出本身不會建立新的執行能力。

四、如何監控多模型代理的異常行為?

應將模型服務流量與同一主機上的敏感資料存取、持續執行、程序異動及外傳行為關聯分析,單一正常模型連線不足以判定惡意。

將模型服務流量與主機操作、持續執行及外連關聯分析

CLOSEDQUORUM 這類設計會讓模型服務請求成為行為鏈的一環。Talos 將不明 Windows 程式短時間連線多家模型服務,並伴隨憑證存取、程序注入、建立持續執行機制或 Discord webhook 外連,列為可關聯觀察的行為。另依 MITRE ATT&CK(資安威脅戰術與技術知識庫)分類,webhook 可被用於透過 Web 服務外洩資料;這是技術分類,不代表公開的 CLOSEDQUORUM 樣本已成功執行外傳。

將程序身分、目的地、連線時間、檔案存取、工具呼叫及傳輸量放在同一時間軸檢視。依核准清單、任務用途及主機行為判讀,避免以單一連線作為惡意判準。

留存模型回覆、工具呼叫、核准結果與實際動作

稽核紀錄應能重建任務、使用資料、模型候選回覆與投票結果、工具呼叫、核准者及實際執行結果。只存最後摘要,出事時便難以定位問題環節。

紀錄須設定保存期限、讀取權限與敏感資料遮罩,避免將金鑰、密碼或完整個資寫入日誌。可在隔離環境演練並調整高風險監控規則。記錄格式應保留事件關聯識別碼,使一項任務從提示組裝、模型請求、候選回覆、投票、核准一路連到工具結果;同時將模型原始輸出與執行端實際採取的動作分欄儲存。若兩者不同,調查人員才能判斷是模型提出了危險建議、政策層攔截成功,或工具執行端未按規則限制。

隔離演練可使用合成資料與無害工具,設計幾種明確情境:模型要求讀取範圍外檔案、要求把資料送往未核准目的地、輸出無效參數、在核准後更改收件對象,以及任務執行到一半收到停止指令。每個情境都要記錄預期結果、實際結果、告警時間及負責人。若未授權工具呼叫仍成功、停止後背景工作未終止、或稽核紀錄無法重建操作,就應先修正控制再接入真實資料。演練也應測試服務故障與憑證外洩後的處置流程,例如停用單一供應商金鑰、切換人工流程、確認其他任務未共用該憑證。

同一時間軸上的多家模型請求、憑證存取、程序異動、webhook 外連、核准事件與工具紀錄
把模型流量與主機操作、核准及工具結果放在同一時間軸,才能依關聯行為判讀風險。

五、導入 AI 代理前應檢查哪些控制?

導入前指定控制負責人,並確認權限、核准、停止與稽核流程能否生效。

  1. 任務與資料負責人:誰核定可讀資料、不得外送的欄位與服務商?用測試提示檢查遮罩是否生效。

  2. 身分與工具負責人:誰確認憑證期限、工具範圍及外連目的地?以代理身分測試越權讀取、修改與外連,確認執行端拒絕並記錄。

  3. 核准負責人:哪些操作須先核准,誰承擔核准責任?改動核准內容中的對象或資料範圍,確認舊核准失效。

  4. 停止與復原負責人:誰演練中止、撤權與資料還原?在隔離環境停止一項執行中的任務,再確認佇列清空、憑證失效且資料可還原。

  5. 稽核負責人:誰能依紀錄重建投票、核准及工具執行結果?抽查一次完整演練的時間軸,確認每個操作都能連回任務與執行身分。

若有控制項無人負責,或測試未能證明拒絕、停止、撤權及復原有效,先不要讓代理連接正式資料或高權限工具。控制負責人應依風險定期重跑測試,並在工具新增、授權調整、模型切換或資料流程重大改動後重新驗證,因為這些變更都可能使原本有效的邊界失效。程式能力和權限決定投票可能造成的實際影響。

  • 多模型投票不代表形成安全共識;模型輸出接上工具時,風險取決於工具與執行身分的權限。
  • 高影響操作應先核准,並保留可追查、可停止與可復原的控制。

常見問題

Q1: CLOSEDQUORUM 已經被確認用於真實攻擊嗎?

Cisco Talos 表示尚未確認其在真實環境部署。公開散布版本含佔位 API 金鑰與假 webhook,研究團隊沒有觀察到完整端到端執行。

Q2: 多個 AI 模型投票會比單一模型安全嗎?

不能只看數量判斷安全。模型可能共享偏誤,投票也不會撤銷程式既有權限;仍須檢查輸出如何連接工具與資料。

Q3: 企業看到模型 API 連線就應該封鎖嗎?

不宜只憑單一連線判定。應確認程式是否經核准,並關聯憑證存取、程序異動、持續執行與非預期外傳等行為。

Q4: 模型投票結果要記錄哪些資訊?

應記錄任務與模型候選回覆、投票規則及結果、呼叫工具、核准者和工具實際執行內容,並設定日誌存取權限與敏感資料遮罩。