MapleCheng

在浩瀚的網路世界中無限潛水欸少年郎!

0%

Agent 的信任,不該在登入成功後一路沿用到底

最近看幾個 Production Agent 的安全改進,我注意到它們表面上在處理不同問題:有的要求先確認工作區是否可信,有的會依任務路由可用能力,有的則在工具真正執行前再次確認。把這些變化放在一起看,其實指向同一件事:Agent 的信任不能在登入成功後一路沿用到底。

傳統系統很容易把登入視為一道明確的門。人進來了,後面就依角色開放功能。但 Agent 不是只會點選固定選單的使用者。它會閱讀不可信內容、組合工具、改變計畫,還可能在長任務途中取得新的上下文。若只在入口驗證一次,後面的每一步都會悄悄繼承一張範圍過大的通行證。

登入只證明「你是誰」,沒有證明「這次可以做什麼」

身分驗證當然重要,但它只能回答呼叫者是誰。它無法單獨回答:這個工作區可不可信、目前資料能不能送給指定模型、這項任務需要哪些工具,以及最後組出的動作是否仍在原本授權範圍內。

這些問題在人類操作傳統系統時,常被固定畫面與後端 API 隱性限制。Agent 卻能把自然語言、檔案、網頁、MCP 工具與命令列串成新的執行路徑。也就是說,權限不只存在於帳號或功能表,而是存在於每一次上下文與能力的組合裡。

因此,我比較傾向把 Agent 的信任設計成一條逐步縮小的鏈,而不是一個布林值。前一關通過,只代表可以進入下一次判斷,不代表後續全部放行。

第一關:先判斷工作區值不值得相信

Coding Agent 最典型。開啟一個 repository,看起來只是讀程式碼,但裡面可能包含專案指令、hook、外掛設定、符號連結,甚至刻意寫給 Agent 看的誘導內容。使用者信任 Agent,不等於也信任 Agent 剛打開的每一份內容。

工作區信任的目的,不該只是多跳一個「是否信任此資料夾」的視窗。平台至少要知道解析後的實際路徑、來源、擁有者、是否跨出專案邊界,以及哪些專案設定會因此生效。陌生工作區預設應停用自動執行、限制專案外讀寫,必要時放進 sandbox。

這一關確認的是環境,不是動作。它回答:「可以開始理解這裡的內容嗎?」而不是:「這裡要求做的事都可以照辦嗎?」

第二關:能力要依任務重新路由

工作區可信,也不代表 Agent 應拿到所有工具。整理文件可能只需要讀取與產生草稿;修正程式需要檔案寫入與測試;部署正式環境則涉及憑證、網路與不可逆變更。若三種任務都掛著同一套能力,風險就由最強的那組工具決定。

能力路由不能只看哪個模型最會做,也要先套用政策:資料能去哪裡、呼叫者代表誰、任務處於哪個階段、工具作用範圍多大,以及是否需要人工審批。先排除不合格的路徑,再在剩下的選項中比較品質、速度與成本。

我會把這層當成執行期的最小權限。權限不是 Agent 建立時一次配完,而是每個任務、每個階段重新取得。規劃階段不需要部署權限,產生 diff 不需要正式資料庫憑證;真的走到核准執行時,再發一張短效、限用途的能力票券。

第三關:工具執行前要確認「實際會發生什麼」

即使環境與能力都通過,最後組出的參數仍可能有問題。Agent 可能選對工具卻填錯目標,也可能因為不可信內容而把動作導向專案外路徑。這時只顯示「Agent 想使用 Terminal」幾乎沒有意義。

可靠的確認應由工具層根據實際參數產生,而不是請模型自己描述。要送出請求,就呈現目標、資料範圍與副作用;要改檔案,就顯示解析後路徑與 diff;要執行指令,就顯示工作目錄、環境與不可逆部分。畫面上看到的內容,必須和真正執行的內容使用同一份 canonical representation,避免預覽與執行之間出現縫隙。

確認也不一定都要找人。低風險讀取可以由政策自動核准,可回復的本地修改可採一般確認,高風險外部動作才要求人工或雙人審批。重點不是彈窗數量,而是確認強度要和影響範圍對齊。

三關之後,還要留下可查證的執行證據

如果事故發生後只能看到「某位使用者登入,Agent 呼叫了一個工具」,資訊還是不夠。稽核紀錄應能串起:當時信任哪個工作區、載入哪些專案規則、能力路由排除了什麼、最後取得哪張短效權限、工具的 canonical 參數是什麼,以及由誰或哪條政策核准。

這不是為了把每次執行做成厚重的簽核公文,而是讓團隊有辦法重建決策。Agent 的行為會受到模型、上下文、工具描述與執行環境共同影響;沒有這條證據鏈,出了問題只會剩下「模型怎麼會這樣做」的猜測。

從 CTO 的角度,我現在不太相信「這個 Agent 是安全的」這種整體描述。我比較想問:它在哪個工作區被信任?這次任務拿到哪些能力?哪個動作在執行前被誰確認?信任在哪一刻到期?

Production Agent 的安全,不是登入頁後面再加一層權限表就完成。它比較像零信任架構在工作流裡的延伸:每跨過一個邊界,就重新驗證一次;每靠近真實副作用一步,就把範圍縮小一點。

登入證明身分,工作區信任判斷環境,能力路由限制手段,工具確認核對實際動作,稽核紀錄負責還原整條鏈。只有當這些關卡彼此銜接,Agent 才不是拿著一張萬用通行證,在系統裡一路走到底。