安全

Agent NAS 不阻止提示詞注入,它限制注入之後的後果:用窄域租約限定一次執行能碰什麼,用分支讓錯誤可撤銷,用 Rule of Two 阻止讀過不可信內容的工作階段再同時擁有敏感資料與對外通道,並留下可追溯的記錄。

v0.2 規範草案 更新於

範圍與信任假設

  • 我們保護: NAS 裡的資料與歷史;授權的邊界;記錄的完整性;記憶的可追溯性。
  • 我們不保護: 智能體在 NAS 之外的行為;執行計算本身的隔離(那是沙箱的工作);模型提供商那一側發生的事。
  • 信任假設: 可信計算基(TCB)是 NAS 閘道器、策略引擎與記錄服務;主機沒有被攻陷;沙箱負責隔離計算。TCB 被攻陷,本頁的保證就失效。

Rule of Two:工作階段不變數

三個性質:[A] 工作階段讀過不可信內容,[B] 租約允許讀敏感資料,[C] 租約允許改變受保護的狀態或對外通訊。同一工作階段裡三者同時成立時,觸發 C 的那次呼叫不會被自動放行。

場景ABC結果
總結一個網頁,寫成分支裡的筆記是是否(只寫分支)自動:分支內的寫入不算 C。
讀過網頁之後,向 main 提議合併是是是Human Gate。
只讀公開資料,寫臨時區是否否自動。
讀過外部郵件之後發出郵件(出口)是是是閘門;涉及 secret 則拒絕。

這是 Meta 的 Agents Rule of Two 在儲存邊界上的實作。Meta 自己強調,它是減輕風險的啟發式,不是終點,也不替代最小權限;我們的用法也是如此。機制見 Trust Labels。

威脅模型

威脅NAS 能強制的NAS 做不到的殘餘風險
T1 間接提示注入(經檔案、網頁、郵件)Rule of Two;租約限定;分支;閘門。阻止注入發生;阻止注入之後在租約內的惡意行為。租約之內的誤用。
T2 憑據洩露(智能體讀到長期金鑰)長期憑據不在執行手裡;金鑰掃描器標記 secret;短 TTL。防止智能體把租約內的資料發往已授權的出口。租約內的資料外發。
T3 過寬權限與誤操作窄域租約;分支;軟刪除;快照不在任何租約之內。撤銷外部副作用。NAS 之外的後果。
T4 記憶投毒(含跨角色傳播)來源與污點;隔離區;已審閱才自動載入;回滾。識別「看起來合理」的錯誤事實。被審閱者放過的投毒。
T5 租約被竊取或重放短 TTL;可撤銷;可選的持有者綁定(DPoP、mTLS)。阻止 TTL 內的濫用。TTL 視窗。
T6 審批疲勞與橡皮圖章閘門稀少;NAS 渲染差異;批准綁定摘要;監控批准率。讓人認真看。人為失誤。
T7 日誌篡改雜湊鏈;可選的外部錨定。沒有錨定時,防止 root 毀掉日誌。惡意的管理員。
T8 資料外洩(出口、共享、搜尋結果)出口需要租約動作與閘門;secret 禁止出口;派生物繼承標籤。防止人批准之後的洩露;隱蔽通道。批准後的洩露。
T9 供應鏈(技能、MCP 伺服器、外掛、模型)技能與外部 MCP 的內容視為 external;技能目錄可以固定到某個提交;執行環境清單寫入記錄。保證第三方程式碼無害。被固定下來的惡意版本。
T10 資源耗盡(分支炸彈、預算耗盡、迴圈讀取)配額;TTL;預算;熔斷。區分合法的大任務與失控。區域性的拒絕服務。

控制措施

  • 策略引擎: 確定性(Cedar 或 Rego 風格),預設拒絕,拒絕時給出可讀的原因與命中的規則;不呼叫 LLM。
  • 憑據代理: 長期金鑰只在代理手裡;僅在獲批的出口動作裡為執行鑄造短時的下游權杖。
  • 隔離與金鑰: 每個角色一個 Home 與路徑空間;sensitive 保留類使用單獨的金鑰域。
  • 供應鏈: 技能、MCP 伺服器與外掛的內容視為 external;執行開始時,把使用的技能與版本寫入記錄。

坦誠的侷限

  1. 這不是提示詞注入的防禦。它限制後果,並讓後果可見。
  2. 租約之內的合法權限仍可能被誤用。
  3. 對 NAS 之外的副作用無能為力:已經發出的郵件、已經呼叫的介面。
  4. 隱蔽通道與側通道不在範圍內。
  5. TCB 被攻陷,則保證失效。
  6. 人會犯錯:閘門降低但不能消除這種風險。
  7. 污點是保守的,會帶來摩擦與誤報;需要調參,也需要可見的拒絕原因。
  8. 加密粉碎只保護我們能控制的副本。

事件應對

  • 熔斷: revoke_run 與 revoke_role 立即撤銷租約並凍結分支。
  • 回滾: 把受影響的樹恢復到某個提交。
  • 溯源: 用讀清單和記錄鏈找出「這次執行讀過什麼、寫過什麼、影響了哪些筆記」。
  • 清理: 用 Cascade Forget 刪除受影響的派生物,並出具報告。

可觀測性與稽核

  • 三類資料: 記錄(事件)、讀清單(輸入集合)、指標與 trace。
  • **explain(commit):** 返回這個提交由哪次執行、哪張租約產生,經過了哪些閘門,讀過什麼,以及依賴的輸入。
  • 與現有觀測棧整合: 一次執行對應一個 OpenTelemetry GenAI span,租約與閘門以事件的形式掛在上面;記錄可以匯出為 JSON Lines,或接入 SIEM。
  • 指標: 租約發放與拒絕率;閘門佇列長度、批准率與批准耗時;分支數量與年齡;索引新鮮度;預算消耗;記錄鏈校驗結果。
  • 隱私與保留: 預設只記後設資料,不記內容;記錄的保留與內容的刪除各自獨立;讀取記錄本身也需要租約。

引用本頁

為讀者、搜尋引擎和智能體提供穩定的網址與建議的引用格式。

建議引用格式
Agent NAS project. “安全.” agentnas.com, 2026-11-11. https://agentnas.com/zh-tw/security/