PAHUD NOTES / RESEARCH BRIEF

Muse 的安全設計不是只靠模型「聽話」

當 AI 能讀信、操作瀏覽器、執行 shell,風險就不只是答錯。Meta 的做法是先假設 agent 可能被操控,再用隔離、權限與出口審批限制它真正能做的事。

原文:2026-09-08 · 研究查證:2026-11-08 EST · 繁中解讀
01 / 看清防護邊界模型之外,誰握有執行權?02 / 帶回自己的系統從最小權限到不可繞過的出口

← 回 Pahud Notes 首頁 · 閱讀 Meta 原文 ↗

THE PROBLEM

使用場景與挑戰:從回答問題,變成真的能動手

請 agent 摘要收件匣很方便;同一個 agent 若又能讀私人檔案、連外與發信,外部郵件裡的惡意指令就可能把「幫我整理」變成「把資料傳走」。危險來自能力的組合,而非一定要偷到密碼。Simon Willison 稱這種組合為「致命三角」:私人資料、不可信內容、可對外通訊。Meta 原文直接引用此概念。[S1][S2]

一句核心結論

Muse 最值得學的,不是某個防注入 prompt,而是把「agent 想做什麼」與「系統允許做什麼」拆開:即使模型被誘導,真實憑證、敏感工具及網路出口仍由不同安全元件掌控。這是限制損害,不是宣告 prompt injection 已解決。[S1]

01 / CONTEXT

這是一份發布時的架構說明,不是安全認證

原文標題是 How We Built Safety Into Muse,發於2026年9月8日,作者 Tarek Sheasha,署名為 Meta Superintelligence Labs 的 Software Engineer & VP。文中把 Muse 定位為個人 agent,表示團隊自2026年初開始內部使用;它可在背景工作、啟動子agent、寫工具並修改自身。程式碼裡的 Hatch 是 Muse 內部名稱,不是另一個產品。[S1]

本文分析的是該文描述的上市時架構,不是對目前服務進行實機測試。原文沒有連出可重現的Muse安全benchmark、完整威脅模型規格或獨立稽核報告;所以不能用文章發表或賞金計畫,推論系統已被證明安全。[S1]

02 / TERMS

Security 與 Safety:本文如何區分

原文討論兩者但沒有給出一套正式分類。為方便閱讀,以下是本文的工作定義:security偏向防惡意操控、越權與外洩;safety偏向限制錯誤或危險行為的後果,例如買錯東西或高風險表單。兩者重疊:遭注入後發生錯誤付款,同時是安全性與使用風險問題。

因此,「模型比較能辨識惡意指令」與「程式無權直接取出真實token」是不同強度的防線。前者是概率性的判斷,後者是權限配置;兩者都可能有實作缺陷,卻不應混成一個模糊的guardrail開關。

03 / MECHANISMS

Meta 的具體做法:把權力移出 agent

1. 專屬 VM 內,再分安全域

Meta說每位使用者有一部專屬Linux VM;agent harness、工作檔案與執行工具位於 systemd-nspawn runtime cell。容器內root對映為宿主機非特權使用者,且限制system calls與capabilities,例如禁用 io_uring、不給 CAP_SYS_PTRACE/CAP_NET_ADMIN。敏感服務留在cell外。[S1]

這不是「讓LLM掌握宿主root」。但nspawn仍是namespace容器,不是另一個獨立核心;systemd文件也特別提醒不可信程式需搭配user namespace。通用文件支持隔離原理,不構成對Muse設定與核心漏洞抵抗力的驗證。[S5]

2. Connector、憑證與允許行動分工

privsep worker在cell外執行內建connector商業邏輯;hatch-authd存取憑證並核對呼叫者允許清單;Sentinel決定動作能不能做。worker以cgroup識別,日曆worker不能只改參數就索取郵件憑證。cell與外部服務透過Unix socket、SO_PEERCRED及peer ACL溝通。[S1]

模型看到的是surrogate token,不是真實secret。具體網路請求獲准後,Sentinel才在出口以authd提供的真實憑證替換;這降低「把金鑰印出來」的攻擊面。但拿不到token,不等於無法濫用一個已獲准的API操作;因此仍需要動作、目的與範圍控制。後一句是本文對權限模型的分析,不是原文提供的攻擊測試。

3. Sentinel 審的是實際出口,不只工具名稱

Meta稱Sentinel是connector與所有網路egress的唯一許可權威,會考慮目的主機、解析後與最終IP、port、protocol、HTTP method、path及解碼後請求,並以SSRF限制避免公開名稱解析到私人基礎設施。runtime traffic經受Linux網路控制保護的forward proxy。[S1]

所謂「tainted egress」則追蹤工具程序是否讀過使用者資料:只有仍乾淨、符合狹窄auto-allow政策且通過URL檢查的請求,才可免打擾;受污染或無法確認者回到一般審批。原文提到eBPF cgroup及新增的LSM hooks。Linux文件證實BPF可用於LSM政策與稽核,但沒有公開這套taint傳播的完整規則。[S1][S3]

4. 人類核准不經模型轉述

需要核准時,Sentinel停止執行,直接在client UI呈現動作並接收答覆;授權綁定connector/目的地與用途,可依情況為單次、session、task或時限等範圍。其重點是讓「對話裡有人說同意」不等於正式capability,並避免每件小事都跳確認框。[S1]

5. 模型與瀏覽器再加防線

原文同時列出模型訓練、將外來資料標示不可信、獨立prompt-injection classifiers,以及cell外的 hatch-safety。瀏覽器由broker掌控CDP;browser subagent使用受限accessibility snapshot,無頁面JavaScript執行、script verbs或browser process exec,使用者接管與安全填憑證期間會暫停agent。這是Muse特定介面限制,不是所有Chromium的固有保證。[S1]

內建郵件connector還會過濾一次性驗證碼、密碼重設及magic links;付款則每次要求具體購買核准,並描述限定商家、金額與有效期的一次性卡號。這些是原文列出的措施,不應推廣成「任何自寫connector都同樣受保護」。[S1]

04 / THREAT MAP

威脅、防護與剩餘限制

機制依Meta原文;限制欄包含本文分析
威脅原文防護作用邊界/仍要問
網頁/郵件注入不可信標記、模型訓練、分類器、出口核准沒公布攻擊成功率;不能等同免疫
誘導吐出API keyauthd、surrogate、出口即時插入阻止直接取key,仍須防濫用已授權動作
改工具程式越權內建connector privsep、worker憑證allowlist自寫connector的覆蓋範圍未完整交代
讀私資料後連外tainted egress、Sentinel實際請求審查taint粒度、漏追與側通道範圍未披露
容器內任意程式user namespace、能力/syscall限制仍依賴宿主核心與隔離實作
瀏覽器誤操作/付款broker、分類器、直接核准與限用途卡號核准資訊是否足夠、使用者是否誤認仍重要

本表不是完整STRIDE分析,也沒有自行測試攻擊;所有機制敘述見[S1],容器背景見[S5]。

05 / ILLUSTRATIVE FLOW

情境:惡意郵件要求把摘要送去陌生網站

以下是依原文控制點整理的概念示意,不是Meta內部拓撲還原,也不是已重現的攻擊結果。外部文字要求外傳不代表使用者已授權。

惡意內容到外傳審查的示意流程不可信郵件進入runtime,模型提出工具動作,由Sentinel審查實際請求與taint;需要時直接向使用者核准,僅獲准時在出口插入憑證。外部郵件:不可信內容標記/獨立分類器Runtime agent提出工具或連外動作Sentinel 審查實際請求權限・目的地・taint拒絕/直接向使用者核准獲准後才插入憑證並送出
多層控制應截斷未授權行動;模型或分類器失誤時,仍仰賴下層邊界。[S1]

06 / WHAT THE EVIDENCE SAYS

有工程細節,沒有可計算的安全勝率

Meta描述持續dogfooding、agentic red teaming、離線evals與外部私人賞金研究;稱Muse Spark 1.3的prompt-injection抵抗能力「close to SOTA」。但這篇沒有提供benchmark名稱、樣本數、成功率、基線或重現方法,讀者無法據此排名,更不能推算「剩餘風險幾%」。[S1]

原文稱有效報告最高賞金US$300,000,其中影響單一使用者的成功prompt injection最高US$130,000。這是依影響與規則的獎勵上限,不是已支付金額,也不是攻擊發生機率。公開Bug Bounty總覽可作通報入口,但不足以單獨核對Muse全部細則。[S1][S4]

尚未回答的關鍵問題

以上是本文提出的查核問題;不能因文章沒交代,就斷言產品沒有實作。

07 / PRIVACY IS A SEPARATE BOUNDARY

隔離使用者,不等於連服務商也看不到

原文明確承認:當時的Secure VM靠營運政策限制Meta人員存取,但沒有阻止Meta在支援、安全或營運需要時存取資料。另稱Confidential VM正與少量測試者試用,計畫在當年稍後提供,並讓外部auditor檢視設計與原始碼。本研究沒有核實其後是否正式推出,不把未來規劃寫成現行保證。[S1]

資料雖以VM為system of record,原文也說推論與遙測會有有限資料離開VM;訓練用trajectories會先去除關鍵個資,使用者可在設定選擇退出。這不是「所有資料永不離機」或「預設完全不用於訓練」。不分享給廣告系統的主張,也不表示代逛網站不會影響外站追蹤與後續廣告。[S1]

08 / OUR RECOMMENDATIONS

把原理帶回自己用的 agent

以下是本文落地建議,不是Muse功能承諾或Meta逐字指引。我們未研究AWS特定產品設定,故不把Muse描述包裝成AWS部署配方。

一般使用者:先給讀權,慢慢開寫權

Agent 開發者:授權要靠獨立執行點

Linux/雲端管理者:容器root不是隔離完成的證據

盤點user namespace、capabilities、syscall、宿主更新、socket ACL及出網政策;把備份、回復與緊急撤權納入演練。核心與管理面的風險不能只用「一人一VM」回答。這些建議對Linux及雲端環境皆有意義,但具體系統仍須依官方文件與測試部署,不照抄Muse元件名稱就視為安全。[S3][S5]

09 / TAKE ACTION

結論:不是消滅錯誤,而是限制它能造成的事

Muse這篇文章的重要貢獻是把agent安全具體化為Linux隔離、credential separation、請求級授權與人類核准。它值得作為架構討論材料;但供應商自述、沒有量化eval與尚在規劃的隱私能力,必須留在閱讀結論裡。[S1]

Prompt · 盤點你自己的agent邊界
請盤點這個 agent 的私人資料來源、不可信輸入及對外通訊路徑。
分開列出:模型能提出什麼、獨立政策能允許什麼、誰能讀真實憑證。
對每項寫操作列明核准範圍、撤銷方式、拒絕或逾時時的行為。
未知處標示未核實,不把模型口頭承諾當成系統隔離證據。

SOURCES & LIMITS

來源附錄與查證範圍

  1. [S1] Meta|How We Built Safety Into Muse(2026-09-08) ↗

    核心架構、產品行為、賞金與隱私主張;屬供應商自述,不等於獨立驗證。

  2. [S2] Simon Willison|The lethal trifecta(2025-06-16) ↗

    Meta直接引用的威脅模型;獨立觀點,但不是對Muse的滲透測試。

  3. [S3] Linux Kernel|LSM BPF Programs ↗

    支持BPF可掛接LSM做MAC/稽核的通用技術背景,不證明Meta實作正確。

  4. [S4] Meta Bug Bounty|Program overview ↗

    確認公開通報入口;Muse專屬賞金數字以S1原文為準,不能拿總覽分類數字混用。

  5. [S5] systemd官方原始文件|systemd-nspawn ↗

    核對namespace容器與user namespace的重要性;這是滾動版本文件,不代表Muse採用同一版本。

核心原文已保存完整HTML與文字於本地研究控制目錄;本文僅用短引述與轉述,不公開大段原文備份。systemd文件站抓取逾時,改讀官方GitHub的同名文件。未執行Muse、未進行滲透測試,也未證實其後產品版本與Confidential VM上線狀態。相關技術背景不能當作Meta實作的獨立驗證。